0

私が作成した Windows サービスのいくつかの操作を実行するために使用される .net 4.0 DLL (クラス ライブラリ) があります。サービスの実行可能ファイルは、プロジェクト参照を実行可能ファイルのプロジェクトに追加することで、この DLL を参照します。バイナリ参照も試してみましたが、結果は同じです。InstallUtil は、DLL を見つけることができないため、EXE から Windows サービスをインストールできません。

私が取り組んでいるシステムは、DLL の検索に GAC 登録を使用していません。むしろ、ビルド後に DLL が「lib」という名前のサービス EXE が配置されているディレクトリの子ディレクトリにコピーされ、その exe には、次を使用して「lib」が参照される一致する .config ファイルがあります。

 <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="lib" />
    </assemblyBinding>
  </runtime> 

そのように動作する複数の.exeと.dllがあります。これらすべての DLL および一致する EXE のプロジェクト プロパティと .config ファイル定義は、確認できるすべてのもので同一です。ただし、他のすべての場合、InstallUtil は DLL を見つけるのに問題はありませんが、ここでは失敗します。ただし、DLL を EXE と同じ場所に移動すると、すべて正常に動作します。

説明している .config ファイルは、他の目的で正常に参照されています。

具体的な質問がある場合は、共有してください。お答えします。私たちは無知です。

4

0 に答える 0