我目前正在使用测试项目在 Visual Studio 2012 RC 中工作。我已包括以下程序集:
- 微软.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 运行时中加载。
这是 Visual Studio 2012 RC 测试项目中的一个错误,它忽略了 app.config 文件,还是我做错了什么?
有关其他信息,我还包括了我的测试代码:
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);