Я использую Visual Studio 2010, пытаюсь создать приложение MEF. Это требует.NET 4.0, или я могу быть нацелен на.NET 2.0?
Строго говоря, вам не обязательно устанавливать .Net 4.0. Вы можете использовать MEF с .Net 3.5 - если вы ссылаетесь на System.ComponentModel.Composition.dll.
Однако, как говорит Дэннилейн, вам действительно нужна функциональность LINQ, поэтому вы не можете настроить таргетинг на .Net 2.0.
Да, есть:
Требования приложений меняются часто, а программное обеспечение постоянно постоянно развивается. В результате такие приложения часто становятся монолитными что затрудняет добавление новых функциональность. Managed Managed Extensibility Framework (MEF) - это новая библиотека в .NET Framework 4.0, которая решает эту проблему, упрощая разработку расширяемых приложений и компонентов.
Edit: На вопрос об ориентации на .net 2.0 можно ответить здесь:
http://mef.codeplex.com/Thread/View.aspx?ThreadId=54008
MEF не поддерживается на .NET 2.0, поскольку он зависит от LINQ и деревьев выражений. В настоящее время у нас нет .NET 2.0 версия MEF не планируется.