5

C# Visual Studio 2012 RC でアプリケーションを構築しています。

アプリケーション内でスクリプトを実行する必要があります。このために私は使用しています。この 2 つのライブラリ。私のアプリケーションのターゲット .net フレームワークは 4.5 です。

using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

気象データベースが存在するかどうかを確認した後にスクリプトを実行するコードを作成しました。

コードを実行すると、予期しない例外がポップアップします。私はそれが何を意味するのか本当に知っています。この例外を取り除くために私を助けてください。

私のコードと例外のプレビューも添付しています。

助けてください... 私はすでにあまりにも多くのことをググってしまいました。

ここに画像の説明を入力

**Here are the Exception Details.**

System.IO.FileLoadException は処理されませんでした HResult=-2146232799 Message=混合モード アセンブリはランタイムのバージョン 'v2.0.50727' に対してビルドされており、追加の構成情報がないと 4.0 ランタイムにロードできません。ソース = mscorlib StackTrace: System.Reflection.RuntimeAssembly.GetType (RuntimeAssembly アセンブリ、文字列名、ブール値 throwOnError、ブール値 ignoreCase、ObjectHandleOnStack 型) で System.Reflection.RuntimeAssembly.GetType (文字列名、ブール値 throwOnError、ブール値 ignoreCase) で System. Microsoft.SqlServer.Management.Common.ServerConnection.GetStatements の Reflection.Assembly.GetType (文字列名、Boolean throwOnError)。

4

1 に答える 1

5

Microsoft.SqlServer.xxxx.dll の .net 2 バージョンを読み込もうとしているようです。参照を .net4 バージョン (推奨) に更新するか、<configuration>ノードの下の app.config に次のマントラを追加します。

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
  <requiredRuntime version="v4.0" />
</startup>

.net 2 アセンブリの読み込みを許可します。詳細はこちら

于 2012-07-01T22:29:47.870 に答える