0

ねえ、現在、署名されたクラス ライブラリ (Noizwaves.Core) に (プロジェクト参照として) 依存関係があるプロジェクト (Noizwaves.Client) を実行しようとしています。Noizwaves.Core のアセンブリ バージョンは 2.0.* に設定されています。これらのプロジェクトは両方とも、同じ VS2008 ソリューション ファイル内にあります。Noizwaves.Client はデフォルトのスタートアップ プロジェクトとして設定されています。

すべてのプロジェクト (およびソリューション) は VS で正常にビルドされますが、Noizwaves.Client を実行すると、次の例外が発生します。

ファイルまたはアセンブリ 'Noizwaves.Core, Version=2.0.3378.15610, Culture=neutral, PublicKeyToken=bed7327d8103b148' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)

Noizwaves.Client のデバッグ ディレクトリを見ると、Noizwaves.Core のバージョンが 2.0.3378.15613 であることがわかります。

プロジェクトのビルド設定/順序がVS2008のせいだと思います。現在、設定はすべてデフォルトに設定されています。

誰でもこの問題を解決できますか? ありがとう!

4

2 に答える 2

2

Noizwaves.Client は、別の場所から Noizwaves.Core をロードしている可能性があります。Noizwaves.Core は GAC にありますか? Visual Studio の下のフォルダー (例: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies)

それでも解決しない場合は、次のことを試してください。

次のようにレジストリをセットアップします (注: 元の状態に戻せるように、元の値のコピーを作成することをお勧めします)。

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
"ForceLog"=dword:00000001
"LogFailures"=dword:00000001
"LogPath"="C:\\Temp\\FusionLog"

そしてフォルダ C:/Temp/FusionLog を作成します。

Fusion は、アセンブリの検索/読み込みを担当する .NET フレームワークの一部です。

この変更後、すべての .NET アプリのそのフォルダーに多数のログ ファイルが見つかります。

于 2009-04-07T07:55:28.340 に答える
1

クライアント プロジェクトは、コア DLL に対してどのような参照を持っていますか? ファイル参照ですか、それともプロジェクト参照ですか? 参照を削除して、プロジェクト参照として再度追加してみてください。

于 2009-04-01T15:00:15.037 に答える