1

実行時に使用する GAC (4.0 の場所) と、設計時に使用するディスク上の場所の両方に v4.0 アセンブリがあります。Visual Studio で [参照の追加] を使用して追加できるように、デザインタイム DLL の場所をレジストリに設定しています。

この DLL を使用しているサービスもあります。Add Reference を介して追加し、そのクラスを参照しながら問題なくコンパイルできます。しかし、サービスを実行すると、GAC から DLL がプルされず、サービスが GAC された DLL でクラスを見つけられないというエラーが表示されます。「コピー ローカル」を true に変更すると、問題なく動作しますが、GAC に DLL を含めるという目的が無効になります。

トラブルシューティング方法に関する提案はありますか?


新しいコンソール アプリへの参照として追加し、オブジェクトにアクセスできます。サービスの何が問題なのかわからない。


タイプが見つからない可能性があります..しかし、コンソールアプリから(GACkedアセンブリを使用して)タイプを参照できるため、サービスの実行時にタイプが見つからない理由がわかりません。

4

1 に答える 1

3

machine.config の system.web タグの下にアセンブリを追加する必要があります。

<system.web>
    <compilation>
        <assemblies>
            <add assembly="YOUR_DLL_NAME, Version=1.1.0.0, Culture=neutral, PublicKeyToken=YOUR_KEY_TOKEN" />  
        </assemblies>
    </compilation>
</system.web>

設定に応じて、構成ファイルは C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config または C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\ にあります。 machine.config

于 2012-11-26T17:49:10.047 に答える