Visual Studio 2013:数据库项目MSBuild错误

74
我在Visual Studio 2013中有一个数据库项目,过去3周一直运行完美,但今天它突然不能构建,因此我无法发布任何更改。我收到了一个MSBuild错误:

“C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTasks.targets(513,5):错误:MSB4018:‘SqlBuildTask’任务意外失败。 System.MethodAccessException:方法'Microsoft.Data.Tools.Schema.Sql.Build.SqlTaskHost.OnCreateCustomSchemaData(System.String,System.Collections.Generic.Dictionary`2)'尝试访问方法'Microsoft.Data.Tools.Components.Diagnostics.SqlTracer.ShouldTrace(System.Diagnostics.TraceEventType)'失败。”

有人有什么想法吗?我今天早上所做的就是从源代码控制中心拉取最新更改。我看不出那会如何破坏实际的MSBuild过程,而最后检查的人根本没有任何问题。

3
确保您和另一个开发者安装了相同版本的SQL Server数据工具,或尝试安装最新版本。 - Keith
我已经重新安装了数据工具,修复了Visual Studio和SQL Server。但仍然没有运气。这让我疯狂。 - GooseZA
我有完全相同的问题。 - dalcam
1
问题最终是由于VS 2013更新3引起的。重新安装并不进行更新(因此保持在更新2上),它就可以完美地工作了。 - GooseZA
6
更新四似乎仍未解决这个问题... - Gary O. Stenstrom
16个回答

1

我遇到了一个类似的问题,但堆栈跟踪略有不同:

错误 MSB4018:任务“SqlBuildTask”意外失败。 System.IO.IOException:文件已存在。

原来这是使用服务帐户的 Temp 目录出了问题,如果在该目录中超过 X 个文件夹/文件,则发布将不再起作用。按照此处提到的说明(适用于我的服务帐户)解决了此问题:

  • 转到开始-> 运行
  • 键入%temp%并单击确定
  • 确保您在 /Local/Temp 文件夹中
  • 删除此文件夹中的所有内容

0
我通过修复Microsoft SQL Server Data Tools并重新启动Visual Studio 2013来解决了这个问题。 控制面板>右键单击:“Microsoft SQL Server Data Tools”>单击:“修复”>重新启动Visual Studio。

0
如果有人需要帮助,我安装了VS2014 CTP 3,并且可以从中构建。有趣的是,在vs2014中成功构建后,下一次在VS2013中构建就可以工作了。但在VS2013中进行后续构建不起作用,直到在VS2014中重新构建为止。

0

我曾经遇到过同样的问题。运行磁盘检查,然后重新启动解决了它。


-1

我遇到了同样的错误,通过重新安装Visual Studio 2015解决了它。


-1

我曾经遇到过这个问题,然后按照以下步骤解决了它:

  1. http://www.microsoft.com/en-us/download/details.aspx?id=43370安装最新的DacFx。

  2. 从C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT中删除Microsoft.Data.Tools.Schema.SqlTasks.targets文件。

  • 修复SQL Server Data Tools 2013,重置Visual Studio()。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接