5

自分で作成したいくつかのカスタム ライブラリを参照するルーチンの WinForms アプリを作成します。別のライブラリに依存する特定のライブラリを構築していますが、構築すると、次の警告メッセージが表示されます。

「ファイルまたはアセンブリ 'RHLib' バージョン 1.0.0.0、Culture=neutral、PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません」

アプリケーションの機能、エラー メッセージはありませんが、私は完全にクリーンなコンパイルが好きな人の 1 人です。つまり、エラーも警告もありません。そして、私はこれを理解できません。

問題のライブラリには「不足している」ライブラリへの参照があり、「不足している」ライブラリはコンパイルされ、VS がコンパイルを終了すると Debug ディレクトリに置かれます。 " ライブラリには依存関係がありません - 循環アセンブリの問題から抜け出すために構築された小さなライブラリです。

何か案は?

4

3 に答える 3

7

「欠落している」ライブラリを使用しているライブラリから警告が送信されていたとしても、「欠落している」ライブラリを呼び出したライブラリを呼び出したアプリケーションへの参照を追加すると、警告が削除されました。

説明:元のアセンブリ(これをAS0と呼びます)は別のアセンブリ(これをAS1と呼びます)を呼び出しました。AS1はAS0の参照リストに含まれていましたが、AS1はさらに別のアセンブリ(AS2と呼びます)を呼び出しました。もちろん、AS2はAS1の参照リストに含まれていますが、AS0の参照リストには含まれていません。この問題を解決するために、AS0の参照リストにAS2を追加しました。それでうまくいきました。

于 2009-09-25T23:16:39.520 に答える
3

プロジェクトを右クリックして [参照の追加] をクリックし、RHLib を使用して追加しましたか? ファイルの先頭に?

于 2009-09-25T22:19:36.933 に答える
1

web.configファイルを編集して、通常の操作には必要のない参照を削除します。

1-サイトのルートにあるweb.configファイルを開きます

2-次の行を見つけてコメントアウトします():

<add assembly="xxxxx", Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

3-web.configファイルを保存して閉じ、再試行してください

参照リンク: http: //manual.aspdotnetstorefront.com/p-1118-could-not-load-file-or-assembly-microsoftwebservices3-version3000-cultureneutral-publickeytoken31bf3856ad364e35.aspx

于 2012-04-25T11:33:29.420 に答える