Managed extensibility framework (MEF) is an extension management framework on the. NET platform. It is a collection of features, including dependency injection (DI) and duck typing. MEF provides developers with a tool that allows us to easily applyProgramExpand the existingCodeWith minimal impact, developers Define some extension points based on functional requirements during the development process, and then the extension personnel can use these extension points to interact with the application; at the same time, MEF allows no direct dependency between applications and extensions, which also allows the sharing of extensions among multiple extensions with the same requirements. For more information about MEF, see terrylee'sArticle: Use managed extensibility framework to easily expand applications
The protocol used by MEF before codeplex is not open source protocol, MS-LPL or Microsoft limited permissive, which requires code to run only on Windows platforms, it cannot run on * UNIX platform. After this project is released on codeplexCommunityIncluding Miguel de Icaza, the father of Mono, who criticized mono. Microsoft listened to the comments from the community and realized the value of the open-source community. Glenn announced that it would change the protocol for this projectOpen source MS-PL protocol.
MEF now uses MS-PL protocols and the voice of the Community is inseparable from the efforts of Microsoft employees, and Microsoft recognizes the value of the open source community. You may already know that Hamilton Verissimo, founder of the open-source Castle project, joined Microsoft and served as the Microsoft MEF project manager. This is its Hamilton Verissimo blog on msdn.
I have just seen the open-source movement and MVP members. There are many replies in it. There is a big misunderstanding between Microsoft and open-source, and it takes time to correct them. Microsoft has changed the license agreement for Enterprise Library 4 Source Code , released based on the open-source friendly Microsoft Public License (MS-PL) License Agreement, Enterprise Library 4.0 can be used in mono. Many of Microsoft's open-source projects on codeplex will be conducive to reusing these class libraries on UNIX and to flourish the open-source community.