4

現在、次のエラーが発生しています。locahost Web サイト。

Could not load file or assembly 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

ただし、参照は間違いなく参照フォルダーにあり、そのdllは間違いなく私のローカルマシン上にあり、それが指している場所にあります。また、参照を削除して再度追加しようとしました。

このエラーの原因を知っている人はいますか?

また、アセンブリ マニフェストの定義は何ですか?

助けてくれてありがとう、私はとても感謝しています。

4

7 に答える 7

9

Visual Studio で、ソリューション エクスプローラーで参照を選択し、Specific Versionプロパティでプロパティが に設定されていることを確認しますfalse

にこのリファレンスのエントリがある場合はweb.config、ファイルを編集してバージョン情報を削除します。

Visual Studio を閉じてテキスト エディターでプロジェクト ファイルを開く場合は、プロジェクト ファイルにアセンブリのバージョンがリストされておらず、名前とタイプのみがリストされていることを確認してください。そのため、以下を削除してください。

, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'

コードが両方で利用可能なクラスとメソッドを使用している限り、6.5.5 または 6.5.4 のどちらを使用していても機能するはずです。

于 2013-04-10T00:47:29.227 に答える
1

私は同じ状況を経験し、これらの手順で問題を解決できました。

状況を修正するのに役立つ詳細を提供するエラー情報を注意深く読んでください。machine.config ファイルは変更しません。それが言うように、アプリケーションはアセンブリ MySql.Web への参照を見つけることができず、参照しようとしているバージョンは Version=6.7.4.0 です。

MySql をインストールするパスに基づいて、正しいアセンブリ ファイルを見つけることができます。例:

C:\Program Files\MySQL\Connector NET 6.7.4\Assemblies\v4.0\MySql.Data.dll

そのファイルを bin フォルダーにコピーします。(C:\Program Files\MySQL\Connector NET 6.7.4\Assemblies\v4.0\ フォルダー内のすべてのファイルを bin フォルダーにコピーします)

お役に立てれば!ありがとう

于 2013-10-18T09:40:59.230 に答える
0

数日前に同じ問題に遭遇しました。以前のバージョンでいくつかの DLL をビルドし、依存する DLL のバージョンを変更したが、DLL を再度ビルドしていない場合にこのエラーが発生します。以前のバージョンでビルドされたコンポーネントがあるかどうかを確認してください。任意の DLL をビルドするときに、マニフェスト内の DLL 自体がすべての依存関係情報を追加して、必要なときにすべてをロードできるようにします。したがって、そのバージョンの DLL を削除する場合は、すべてのコンポーネントを再コンパイルしてから使用する必要があります

于 2013-04-10T04:20:34.283 に答える
0

これは、新しいマシンの古いasp.net 2.0 Webサイトにありました。私の場合、.Net 4.0 であったため、GAC からの MySql アセンブリをロードできませんでした。web.config のアセンブリ リダイレクトが機能しませんでした。次のように修正しました。

于 2016-03-02T16:29:53.827 に答える
0

同じエラーが発生し、ファイルは絶対に存在していました。エラーの横に SGEN が表示される場合は、次のことを試してください。

プロジェクト プロパティ ウィンドウで [ビルド] に移動し、[出力] セクションで [シリアル化アセンブリの生成] ドロップダウンに移動します。Auto の値を Off に変更し、Build を再度実行します。

必要に応じて自動に戻すことができます。

于 2017-07-20T10:11:37.210 に答える