VS 2013 SqlBuildTask 04018错误

时间:2014-09-17 19:43:07

标签: visual-studio-2013 sql-server-data-tools

更新到最近的Service Pack后,我的数据库项目不再构建。

我收到以下错误:

  

错误1 04018:&#34; SqlBuildTask&#34;任务意外失败。   System.MethodAccessException:尝试方法   &#39; Microsoft.Data.Tools.Schema.Sql.Build.SqlTask​​Host.OnCreateCustomSchemaData(System.String,   System.Collections.Generic.Dictionary 2<System.String,System.String>)' 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.SqlTask​​Host.CreateCustomSchemaData(字符串   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   步骤)   Microsoft.Data.Tools.Schema.Tasks.Sql.SqlBuildTask.Execute()at   Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()   在   Microsoft.Build.BackEnd.TaskBuilder.d__20.MoveNext()C:\ Program   档   (86)\的MSBuild \微软\ VisualStudio的\ V12.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTask​​s.targets

我尝试重新启动并修复VS2013 谢谢你的任何想法。

4 个答案:

答案 0 :(得分:11)

您需要安装最新版本的SQL Server数据工具 http://msdn.microsoft.com/en-US/data/hh297027

答案 1 :(得分:1)

刚刚更新到最新的SSDT对我来说不起作用。

我的配置:

Win 7 Enterprise,VS Express 2013 v12.0.31101.00 Update 4,.NET 4.5.51209

我的解决方案有效:

  1. 卸载所有旧版本的SQL Server,在我的案例2005,2005 Mobile 2008,Compact Editions等中。我离开了2008安装支持文件。
  2. 还卸载SSDT
  3. 下载并安装最新的SQL Server数据工具http://msdn.microsoft.com/en-US/data/hh297027(截至2015年4月8日,这是V 12.0.50318.0)
  4. 重新加载项目,清理,重建并且没有错误!

答案 2 :(得分:0)

我必须完成上述所有操作并且需要额外的一些。

  1. 为我的SQL版本(2012)安装最新的Service Pack
  2. 更新SSDT
  3. 删除新安装位置中的旧SSDT文件
  4. 打开项目属性并取消选中&#34;为常见对象启用扩展的transact-SQL验证&#34;

答案 3 :(得分:0)

好的,对我有用的解决方案:

我比较了文件的日期和版本:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT\Microsoft.Data.Tools.Schema.Sql.UnitTesting.targets
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets

我的构建机器上的版本比我的开发机器版本早了一年。 所以我将我的开发机器文件复制到构建服务器,它可以工作......

MSBuild,认真吗?