私は5年前にasp.net 2.0とvb.net 2005、そしてVisual Studio 2005で書かれたウェブサイトに取り組んでいます
Web サイトは、subsonic を使用して記述されたデータ アクセス レイヤーを使用します。DAL は subsonic dll をインポートするクラス ライブラリです。また、基礎となる mysql データベースに接続するには、mysql.data dll をインポートする必要があります。Subsonic は特定のバージョンの mysql.data コネクタ (5.2.2) を必要とするため、これはクラス ライブラリがインポートするバージョンです。
この Web サイトでは、mysql のカスタム メンバーシップ プロバイダーも使用しています。これは、mysql.data dll バージョン 6.5.4 の別のクラス ライブラリです。
Web サイトは DAL とカスタム メンバーシップ プロバイダーの両方を使用するため、これらのクラス ファイルの両方の dll をインポートします。これらのクラス ライブラリで使用される 2 つの異なるバージョンの mysql データ コネクタをどのように処理できるか混乱しています。
web.config ファイルには次の行があります
<add assembly="MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/></assemblies>
この行を削除してから Web サイトを再構築すると、その行が再び表示されます。
この Web サイトには、bin ディレクトリに mysql.data 5.2.2 dll のコピーもあります。このファイルを削除してから Web サイトを再構築すると、ファイルが再び表示されます。つまり、Visual Studio のエクスプローラー ウィンドウの bin ディレクトリに dll の名前が表示され、Web サイトの bin ディレクトリに物理ファイルが表示されます。
ここで何が起こっているのか、vb.net が同じ dll の 2 つのバージョンをどのように使用できるのかを知りたいです。すべて正常に動作しているように見えますが、この Web サイトのコンポーネントは非常に古いため、サポートされていません。私は本当に何かを壊したくないし、それを修正することもできません。
どうもありがとう