0

ディレクトリ X にいくつかの DLL を含む単純な WCF サービス ライブラリ プロジェクト (これをプロジェクト W と呼びます) があります。

私は W を自己ホストしたいので、コンソール プロジェクト (これをプロジェクト C と呼びます) を作成し、W への参照を追加し、W のスタートアップ ディレクトリを X に設定し、基本的に次の主要なコード行を用意します。

var host = new ServiceHost(typeof(EvalService));
host.Open();

W でメソッドをテストするSystem.ServiceModel.FaultExceptionと、{"The specified module could not be found. (Exception from HRESULT: 0x8007007E)"}.

これはどういう意味ですか?ロードしようとしているモジュールを確認するにはどうすればよいですか?

私はC#とWCFの両方にかなり慣れていないので、ヒントをいただければ幸いです。

4

2 に答える 2

0

このエラーがサービスにあるのかクライアントにあるのかを判断する必要があります。

エラー メッセージから、これはサービス側のエラーのようです。http://msdn.microsoft.com/en-us/library/gg281715.aspxから IErrorHandler を実装できます。

これにより、サービスのすべてのエラーにアクセスできます。その後、すべての例外とその内部例外をログに記録できます。

お役に立てれば。

于 2013-02-22T05:18:09.410 に答える
0

イベント AppDomain.AssemblyResolve にサブスクライブし、問題のあるアセンブリをデバッガーで確認できます。

AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.AssemblyResolve += OnAssemblyResolve;

...

private static Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
{
   Console.WriteLine(args.RequestingAssembly); //set breakpoint there
   return null;
}
于 2013-02-22T04:13:38.690 に答える