J'ai un simple scénario d'exportation/importation que je ne peux pas comprendre pourquoi cela ne fonctionne pas. dans mon scénario, j'ai une application WPF et 2 ClassLibrary, en Classlib1 j'ai une interface nommée ITestEx1 comme ci-dessous:MEF Importer l'erreur
public interface ITestEx1
{
string Name {get; set;}
}
et 1 classe dérivée nommé (TestEx1) comme ci-dessous:
using System.ComponentModel.Composition;
[Export(typeof(ITestEx1))]
public class TestEx1 : ITestEx
{
public Name {get; set;}
}
que vous peut voir cette classe exportée en tant que type de ITestEx1, maintenant Classlib2 i refrenced Classlib1 et ont une classe comme ci-dessous:
using System.ComponentModel.Composition;
using Classlib1;
public class TestMEF
{
[Import(typeof(ITestEx1))]
public ITestEx1 TestE {get; set;}
}
et dans la principale application WPF i refrenced à la fois Classlib1 et ClassL IB2 et constructeur de MainWindow.xaml je l'ai écrit ce code d'initialisation MEF:
private CompositionContainer _container;
...
public MainWindow()
{
InitializeComponent();
var catalog = new AggregateCatalog();
catalog.Catalogs.Add(new AssemblyCatalog(typeof(MainWindow).Assembly));
catalog.Catalogs.Add(new AssemblyCatalog(typeof(TestEx1).Assemble));
_container = new CompositionContainer(catalog)
_container.ComposeParts(this);
}
... et cliquez sur le bouton i ai ceci:
{
...
var aa = new TestMEF();
aa.TestE.Name = "abc"; // Error, object null refrence
}
S'il vous plaît aidez-moi à résoudre ce problème