2010-05-11 12 views
14

Ich verwende Visual Studio 2010, versuche eine MEF-Anwendung zu erstellen. Benötigt dies .NET 4.0 oder kann ich .NET 2.0 als Ziel verwenden?Erfordert MEF .NET 4?

Antwort

11

Ja, Sie tun:

Anwendungsanforderungen ändern häufig und Software ist ständig weiterentwickelt. Als Ergebnis werden solche Anwendungen oft monolithisch macht es schwierig, neue Funktionalität hinzuzufügen. Die Managed Extensibility Framework (MEF) ist eine neue Bibliothek in .NET Framework 4.0 dass behebt dieses Problem, indem sie die Gestaltung von erweiterbaren Anwendungen und Komponenten zu vereinfachen.

Von: http://mef.codeplex.com/

Edit: Die Frage nach .net Targeting 2.0 ist hier beantwortet:

http://mef.codeplex.com/Thread/View.aspx?ThreadId=54008

MEF wird nicht unterstützt auf .NET 2.0, wie es hängt von LINQ- und Expression-Bäumen ab. Derzeit haben wir keine .NET 2.0 Version von MEF geplant.

+0

Ich habe eine Konsolenanwendung in Visual Studio 2010 mit .NET Framework 3.5 erstellt und die System.ComponentModel.Composition v4.0.30319 verwiesen. Aber ich kann das Projekt nicht kompilieren, da es die Referenz honoriert und fragt: "Vermissen Sie eine Assembly-Referenz?". Irgendwelche Ideen? – NLV

+0

Sie können kein v3.5-Zielprojekt mit v4.0-Assemblys erstellen. – Ludwo

9

Genau genommen muss .Net 4.0 nicht installiert sein. Sie können MEF mit .Net 3.5 verwenden - wenn Sie auf System.ComponentModel.Composition.dll verweisen.

Wie DannyLane sagt, benötigen Sie jedoch die LINQ-Funktionalität, so dass Sie .Net 2.0 nicht zielen können.

+2

+1, obwohl Sie es auch von Codeplex herunterladen müssen. http://mef.codeplex.com/ – pms1969