モジュールA(.netアセンブリ)を使用するアプリケーションがあり、モジュールAはモジュールB(.netアセンブリ)を使用し、モジュールBはモジュールC(C++)を使用します。C#:.Net:コンソールアプリケーションで動作するコード。 WCFサービスで実行しているときに同じコードが失敗しています
サーバーの多くのアプリケーションでこれを使用するため、管理対象モジュールをレジストリに登録し、GACにインストールしました。
は、今私はコードの下で(すべての仕事をしていません)、モジュールAにアクセスしています:
タイプmoduleAType = Type.GetTypeFromProgID( "ModuleA.Class1"); オブジェクトclass1Object = Activator.CreateInstance(moduleAType);
上記の2行のコードは、コンソールアプリケーションとして実行するとうまく動作します。しかし、同じコードでWCFサービスとしてデプロイしてリクエストを行うと、エラーがスローされます:
"ModuleBまたはその依存関係の1つをロードできませんでした"。
上記のエラーをWCFサービスで解決するには、ModuleA、ModuleB、ModuleCのすべてをサービスインストールフォルダのビンにコピーしましたが、サービスをブラウズ中に上記のエラーが発生します。私はいくつかのシステムモジュールがWCFサービスとして実行されていないと思う。
私はProcMonを使用してAsp.Netがdllをどこから取得しているか確認しようとしましたが、それを把握することはできませんでした。すべての提案/ヘルプは非常に役に立ちます
注:コンソールアプリケーションとWCFサービスは、同じマシンの同じユーザーで実行されます。
WCFサービスの 'target framework'と' target platform'を確認しましたか?あなたの望むモジュールと互換性があるはずです。あなたのコンソールアプリケーションとWCFサービスのターゲットフレームワークとプラットフォームは何ですか? – Amit
はい、忘れてしまったことを忘れてしまいました。私もそれを確認しました。すべてがフレームワーク4.5にあります – Pramod
そしてプラットフォームはどうですか? AnyCPU/x86/x64? – Amit