我们有一个由TFS和SQL服务器单元测试构建的解决方案,应该在每个构建上运行。测试部分还包含一个Database项目,该项目应在测试运行之前部署到localDB。 SQL Server单元测试项目的配置是:
<configSections>
<section name="SqlUnitTesting" type="Microsoft.Data.Tools.Schema.Sql.UnitTesting.Configuration.SqlUnitTestingSection, Microsoft.Data.Tools.Schema.Sql.UnitTesting, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
<connectionStrings>
<add name="SnapDBContext" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=SampleDatabase;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>
<SqlUnitTesting>
<DatabaseDeployment DatabaseProjectFileName="..\..\..\..\Database\SampleDatabase.sqlproj" Configuration="Debug" />
<DataGeneration ClearDatabase="true" />
<ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=SampleDatabase;Integrated Security=True;Pooling=False" CommandTimeout="30" />
<PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=SampleDatabase;Integrated Security=True;Pooling=False" CommandTimeout="30" />
</SqlUnitTesting>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
在我的本地计算机上一切正常但在TFS上它失败并出现错误:
从配置文件中读取SQL Server单元测试设置时发生错误。单击测试项目,从SQL菜单中打开SQL Server测试配置对话框,将设置添加到对话框,然后重建项目。
这些人认为测试在TFS 2013上运行良好但在升级到TFS 2015后我们开始出现此错误。尝试了在这里和互联网上找到的不同解决方案但没有任何帮助。我错过了什么? 谢谢。
答案 0 :(得分:0)
尝试使用另一个SQL Server实例(不是localdb,使用另一个SQL Server实例可以正常使用)。
另一方面,您正在使用Windows身份验证,因此请确保构建服务帐户对目标SQL Server具有足够的权限(例如,创建数据库)。