IDesign の ServiceModelEx ライブラリを使用しようとしています。電話しようとすると:
InProcFactory.CreateInstance();
WCF サービス (基本的には WCF サービス A から WCF サービス B を呼び出す) から、次のエラーが発生します。
動的アセンブリが見つかりませんでした
失敗しているコードは次のとおりです。
internal static Assembly[] GetWebAssemblies()
{
Debug.Assert(IsWebProcess());
List<Assembly> assemblies = new List<Assembly>();
if(Assembly.GetEntryAssembly() != null)
{
throw new InvalidOperationException("Can only call in a web assembly");
}
foreach(ProcessModule module in Process.GetCurrentProcess().Modules)
{
assemblies.Add(Assembly.LoadFrom(module.FileName));
if (module.ModuleName.StartsWith("App_Code.") && module.ModuleName.EndsWith(".dll"))
{
assemblies.Add(Assembly.LoadFrom(module.FileName));
}
if (module.ModuleName.StartsWith("App_Web_") && module.ModuleName.EndsWith(".dll"))
{
assemblies.Add(Assembly.LoadFrom(module.FileName));
}
}
if (assemblies.Count == 0)
{
throw new InvalidOperationException("Could not find dynamic assembly");
}
return assemblies.ToArray();
}
これは Web サイトまたは Web アプリケーション (WCF サービス) ではないため、アセンブリには App_Web または App_Code がプレフィックスされていません。ただし、Web サイト、Web アプリケーション、または EXE から呼び出すと、コードは機能します。これは設計によるものですか?