私はMicrosoft.SqlServer.SMO.dllを使用してプロジェクトを作成していますが、これは常にbinディレクトリにコピーします(CopyLocalはtrueに設定されています)。C#アセンブリの場所解決
ただし、異なるバージョンのSQL SMOがインストールされていることがあります。 Thayは同じアセンブリバージョン(10.0.0.0)を持っていますが、異なるファイルバージョン(10.0.1600.22と10.50.2500.0)を持っています。エンドユーザーはアセンブリの古いバージョンをGACにインストールしているかもしれませんが、ビンから常に10.50をロードする必要があります。
だから、私は次のような状況があります。私のアプリが動作しているとき
Bin -> 10.50.2500.0
GAC -> 10.0.1600.22
、GACからのアセンブリがロードされているが、ビンから無視されます。
どうすればこのような現象を防ぐことができますか?どうもありがとう。
CLRは[AssemblyVersion]にのみ注意します。ファイルバージョンは無視されます。したがって、GACのものが常に最初に見つけられ、受け入れられます。これが本当に重要な場合は、アンインストールする必要があります。 –