3

asp.netアプリケーションをビルドしようとすると、ビルドエラーが発生します。エラーは次のとおりです。

タイプ'MediCare.Framework.Authentication.IUserAuthenticate'は、参照されていないアセンブリで定義されています。アセンブリ'MediCare.Framework、Version = 1.0.1.95、Culture = neutral、PublicKeyToken=1999fa3c42b9'への参照を追加する必要があります。

参照フォルダにあるライブラリでクラスを確認できます。この問題をデバッグするにはどうすればよいですか?
私の意図は、参照フォルダーをライブラリのソースコードのbinディレクトリにポイントすることです(pdbファイルがそこにlcoatされており、ライブラリへの更新がアプリケーションに反映されるため)。ただし、参照フォルダーをソースコードのbinディレクトリにポイントすると、上記のエラーメッセージが表示されます。

更新アプリケーションは元々VS2008で開発され、2010年に変更しています。VS2010(2.0フレームワークの場所または4.0フレームワークの場所)を使用している場合、GACアセンブリがどこにあるかについて混乱していると思いますか?.NET 4.0には新しいGACがありますが、なぜですか?

更新(2012年6月26日)
GAC内のファイル( "C:\ Windows \ assembly \")が削除されました。しかし、このエラーはまだ発生しています。

4

2 に答える 2

6

これは、バージョンの不整合が原因である可能性があります。つまり、これを修正するために、アセンブリ(およびアセンブリ内にネストされている可能性のあるアセンブリ)の完全なクリーンビルドを実行します。ただ冷静になって、すべてのアセンブリで新しいビルドを実行してください。それはうまくいくはずです。

于 2012-06-27T05:06:38.710 に答える
2

Windowsエクスプローラーに移動し、プロジェクトで使用されているこのクラスを含むDLLファイルを右クリックして、[バージョン]タブを確認します。バージョン番号がエラーメッセージに表示されているものと一致していることを確認してください。私の推測では、そうではないでしょう。

一致する場合は、GACをチェックし、それが取得している可能性のある別のバージョンのDLLがそこにないことを確認します。これを行うには、Windowsエクスプローラーに移動し、c:\ windows\assemblyに移動します。そのアセンブリが異なるバージョン番号でそこにあるかどうかを確認してください。含まれている場合は、GACから削除する必要がある場合があります(他のアプリはそこにあることに依存している可能性があるため、注意してください)。

于 2012-06-14T15:14:23.193 に答える