2016-05-04 100 views
0

我有一个解决方案Visual Studio 2013其中包含SQL Server Database Project和我最近添加了一个Unit Test Project其中有136个测试。在Test Explorer,当我Run All点击执行所有的测试,我收到以下错误:Visual Studio 2013单元测试项目抛出SqlBuildTask错误

04018: The "SqlBuildTask" task failed unexpectedly. System.MethodAccessException: Attempt by method 'Microsoft.Data.Tools.Schema.Sql.Build.SqlTaskHost.OnCreateCustomSchemaData(System.String, System.Collections.Generic.Dictionary`2)' to access method 'Microsoft.Data.Tools.Components.Diagnostics.SqlTracer.ShouldTrace(System.Diagnostics.TraceEventType)' failed. at Microsoft.Data.Tools.Schema.Sql.Build.SqlTaskHost.OnCreateCustomSchemaData(String filePath, Dictionary`2 referenceMetadata) at Microsoft.Data.Tools.Schema.Sql.Build.SqlTaskHost.CreateCustomSchemaData(String filePath, Dictionary`2 referenceMetadata) at Microsoft.Data.Tools.Schema.Tasks.Sql.TaskHostLoader.ProcessReferences(TaskLoggingHelper providedLogger, SqlTaskHost host, ErrorManager errors) at Microsoft.Data.Tools.Schema.Tasks.Sql.TaskHostLoader.LoadImpl(ITaskHost providedHost, TaskLoggingHelper providedLogger) at Microsoft.Data.Tools.Schema.Tasks.Sql.TaskHostLoader.Load(ITaskHost providedHost, TaskLoggingHelper providedLogger) at Microsoft.Data.Tools.Schema.Tasks.Sql.SqlBuildTask.ExecuteLoadTaskHostStep() at Microsoft.Data.Tools.Schema.Tasks.Sql.SqlBuildTask.ExecuteStep(Func`1 step) at Microsoft.Data.Tools.Schema.Tasks.Sql.SqlBuildTask.Execute() at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext()

+0

我知道它与你的问题根本没有关系,但是如果你不知道tsql单元测试有非常好的框架。它的名字是tsqlt。在网上很容易找到。这不是垃圾邮件,我很满意这个产品。 –

+0

@sidux我可能不得不考虑这一点。谢谢。 – Russ

回答

1

这应该通过安装最新版本的SSDT的固定,可以在这里找到:https://msdn.microsoft.com/en-us/dn864412

如果最新版本的SSDT已经安装,请尝试修复安装。

+0

谢谢。这解决了我的问题。在发布这篇文章时,我现在有'SQL Server Data Tools v12.0.50730.0'。 – Russ

相关问题