15

現在、Visual Studio 2012 RC でテスト プロジェクトを使用しています。次のアセンブリを含めました。

  • Microsoft.SqlServer.Smo
  • Microsoft.SqlServer.SmoExtend
  • Microsoft.SqlServer.ConnectionInfo
  • Microsoft.SqlServer.Management.Sdk.Sfc

これらのアセンブリはバージョン 2.0.50727 でビルドされており、.NET 4.0 でテスト プロジェクトを作成しています。したがって、この情報に基づいて、次の行で app.config ファイルをプロジェクトに追加しました。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

これを実行しようとすると、常に次のメッセージが表示されます。

混合モード アセンブリは、ランタイムのバージョン 'v2.0.50727' に対してビルドされており、追加の構成情報がないと 4.0 ランタイムに読み込むことができません。

これは、app.config ファイルを無視する Visual Studio 2012 RC テスト プロジェクトのバグですか、それとも完全に間違っていますか?

追加情報については、テスト コードも含めました。

    var connectionString = new SqlConnectionStringBuilder()
    {
        DataSource = @"(local)",
        IntegratedSecurity = true
    }.ConnectionString;

    var sql = "alter database [Test] set single_user with rollback immediate go ";
    sql += "drop database [Test] go ";
    sql += "create database [Test] go ";
    sql += Properties.Resources.Test;

    var connection = new SqlConnection(connectionString);
    var server = new Server(new ServerConnection(connection));

    server.ConnectionContext.ExecuteNonQuery(sql);
4

2 に答える 2

0

古いバージョンの .Net 4.0 がインストールされていないことを確認してください。2010 VS ベータ版または 2012 VS ベータ版のいずれかをダウンロードした場合、それが発生する可能性があり、何らかの理由で間違ったものがスプールされます。ああ、それは現在の .Net 4.0 と並べてインストールすることになります。参照

于 2012-08-15T21:28:15.470 に答える