3
我正在使用棱鏡4和MEF的WPF項目。我有一些需要從目錄加載的DLL。這些DLL通過的iGame實現的IModule和正確形成(或至少我是這麼認爲的):如何讓DirectoryModuleCatalog正常工作?
[Module(ModuleName = "SnakeModule")]
class SnakeModule : IGame
{
public void Initialize()
{
Console.WriteLine("test");
}
public void StartGame()
{
throw new NotImplementedException();
}
}
目前,主體工程正在編制,但模塊不會被初始化。我無法理解如何設置引導程序,並且文檔沒有什麼幫助,因爲它沒有DirectoryModule目錄的完整示例。模塊化快速入門也沒有編譯。這裏是我的引導程序:
class BootStrap : MefBootstrapper
{
protected override DependencyObject CreateShell()
{
return ServiceLocator.Current.GetInstance<Shell>();
}
protected override void InitializeShell()
{
Application.Current.MainWindow = (Window)this.Shell;
Application.Current.MainWindow.Show();
}
protected override void ConfigureAggregateCatalog()
{
this.AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(BootStrap).Assembly));
}
protected override IModuleCatalog CreateModuleCatalog()
{
DirectoryModuleCatalog catalog = new DirectoryModuleCatalog() { ModulePath = @"..\..\..\GameTestLib\bin\Debug" };
return catalog;
}
protected override void ConfigureContainer()
{
base.ConfigureContainer();
}
}
DLL的路徑是正確的。總結一下,我的問題是:我應該如何設置我的引導程序?