私のソリューションには、Silverlightプロジェクトが4つ含まれています(1つのメインプロジェクト、2つのモジュールプロジェクト、最後の1つの共有プロジェクトなど)。Silverlightアプリケーションで未処理のエラーモジュールを見つけることができません
メインプロジェクトとモジュールプロジェクトでは、(プロジェクトを共有するための)参照はありません。
あなたは下の私のモジュールの定義を見つけることができます:
[ModuleExport("ServiceModule", typeof(ServiceModule), InitializationMode = InitializationMode.WhenAvailable)]
public class ServiceModule : IModule
[ModuleExport("ViewModule",
typeof(ViewModule),
DependsOnModuleNames = new string[] { "ServiceModule" },
InitializationMode = InitializationMode.WhenAvailable)]
public class ViewModule : IModule
そして、私がメインプロジェクト(私が代わりにCreateFromXaml方法のモジュールのコード登録を使用)の派生MefBootstrapperクラスにModuleCatalogにモジュールを追加しました:
protected override void ConfigureModuleCatalog()
{
ModuleCatalog.AddModule(
new ModuleInfo()
{
ModuleName = "ServiceModule",
ModuleType = "SilverlightEnabledService.ModuleDefinitions.ServiceModule, SilverlightEnabledService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ca4f032071a86aea",
Ref = "SilverlightEnabledService.xap",
InitializationMode = InitializationMode.WhenAvailable
}
);
ModuleCatalog.AddModule(
new ModuleInfo()
{
ModuleName = "ViewModule",
ModuleType = "RedOrBlackModule.ModuleDefinitions.ViewModule, RedOrBlackModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ca4f032071a86aea",
Ref = "RedOrBlackModule.xap",
InitializationMode = InitializationMode.WhenAvailable,
DependsOn = (new Collection<string>(new string[] { "ServiceModule" }))
}
);
}
ModuleCtalogのモジュール名はModuleExportAttributeのモジュール名と同じですが、次の例外があります。
Uncaught Error: Unhandled Error in Silverlight Application Unable to locate the module with type 'SilverlightEnabledService.ModuleDefinitions.ServiceModule, SilverlightEnabledService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ca4f032071a86aea' among the exported modules. Make sure the module name in the module catalog matches that specified on ModuleExportAttribute for the module type. в Microsoft.Practices.Prism.Modularity.ModuleInitializer.HandleModuleInitializationError(ModuleInfo moduleInfo, String assemblyName, Exception exception)...
非常に簡単な問題のようですが、まだ解決策を見つけることができません。
ありがとうございます。それは私を助けませんでした(私は前にそのリンクを見つけました)。とにかく、私はあなたの答えは単一であると思う;)私は解決策を段階的に見つけることを試みる。 –