Microsoft Enterprise Library 3.1のインストール ディレクトリからMicrosoft.Practices.EnterpriseLibrary.Common.dll
(=" the dll ")を参照する dll プロジェクトがあります。「b03f」で始まる公開鍵を持っています。
バージョン 9.30.2.5168を参照する別のプロジェクトがあります(GAC フォルダーに 9.2.0.0 が表示されます)。Miner dll には、「196b」で始まる公開鍵があります。
3 番目の dll は、他の 2 つを参照します。 Miner.Geodatabase.dll
上記のプロジェクトELTest.rar - 1 を使用した単純な vs2005 ソリューションを次に
示します。RefEL は、その lib フォルダーからdll
を
参照するだけです。
2. RefGeodatabse は、GAC から参照するだけです。
3. RefBoth は、他の 2 つのプロジェクトを参照します。 Miner.Geodatabase.dll
コンパイル後、RefEL の bin/debug フォルダーにはdllの "b03f" ("real") バージョンが含まれ、RefGeodatabase と RefBoth の bin/debug には"196b" で始まる公開キーを持つdllのバージョンが含まれます。 - マイナー dll と同じ。彼らはエンタープライズ ライブラリを再コンパイルしたようです (そして、おそらく何かを変更したようです)。
実行時に (この偽のソリューションではなく、私の実際のソリューションでは)、私の「両方の」プロジェクトは、「b03f」dll を必要とする「EL」プロジェクトを呼び出し、それを見つけることができず、クラッシュします。
私はどうしたらいいですか?Enterprise Library dll を GAC に登録すると、実行時に見つかる可能性があります。ターゲット コンピューターに entlib をインストールする必要のない別のソリューションはありますか?