Windows 10開発用PCで問題なく動作するC#(Visual Studio)を使用してアプリケーションを開発しました。しかし、目的のターゲットPCにアプリケーションをコピーして実行すると(Server 2012 R2)、ファイルまたはアセンブリをロードできないという例外が表示されます。Microsoft.SqlServer.ConnectionInfo、Version = 13.100.0.0。このSQL/C#DLLの競合を解決するにはどうすればいいですか
dllのバージョン13をターゲットPCのプログラムディレクトリにコピーしてアプリケーションを実行すると、dllのバージョン14が見つからないことを通知する例外が表示されます。バージョン14をターゲットにコピーしてから、元の例外を返します。
- Microsoft.SqlServer.ConnectionInfo.dll(私 問題を与えている1):
私はつまり、アプリケーション内のすべての必要なDLLへの参照を持っています。 Microsoft.SqlServer.Management.Sdk.Sfc.dll Microsoft.SqlServer.Smo.dll Microsoft.SqlServer.SqlClrProvider.dll Microsoft.SqlServer.SqlEnum.dll Microsoft.Web.Administration.dll
すべてが設定されています特定のバージョン= false。
すべての必要なフレームワークがサーバーにインストールされています。また、以下では、プログラムが対話するサーバーにインストールされます。SQL Server 2012の•
ColdFusionの
•(および2008が、このインスタンスは、プログラムで使用されていない)
。 exeはインストーラを介してインストールされ、そのインストールには必要なdllが含まれています。このdllはexeと同じディレクトリにインストールされます。
ディレクトリにすべての権限があり、プログラム自体のアクセス権が最も高くなっています。
接続文字列はユーザーが選択でき、プログラムがインストールされている場所に応じてデフォルト値が正しい文字列になります。
この競合を解決するのに役立つアイディアがありますか?
ありがとうございます。
よろしく、 Ken。
ADDITIONAL INFORMATION
のVisual Studio内に示さMicrosoft.SqlServer.ConnectionInfo.dllのバージョン番号が13.100.0.0です。私は、プロパティに示されているパスからプログラムディレクトリにDLLをコピーしました。何だと思う?私がこのプログラムを走らせたとき、バージョン14.100.0.0が見つからないという例外が私に伝えられました!
これは、ファイルの[プロパティ]ページ(13.0.16106.4)に表示されているものと同じDLLのバージョンです。