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个回答

52

3
这个解决方案适用于我安装了VS2013(更新4)的情况。 - Alan Samet
2
对于我的 VS2013(带有更新4的社区版),这个解决方案也有效。 - MKP
2
我已经安装了它,但可能已经损坏了 - 安装/修复起作用了。 - user489998

18

在Visual Studio 2013中,依次选择工具(Tools)->扩展和更新(Extensions and Updates)->更新(Updates)->产品更新(Product Updates)-> Microsoft SQL Server Update以将数据库升级至12.0.50318.0。

我是从12.0.41012.0升级的,这解决了我的问题。这与安装最新的SQL Server数据工具的答案有关。


这对我解决了问题,我从12.0.41012.0升级到12.0.50730.0。 - JSancho
问题已解决,我只是通过VS2013更新了SQL Server。谢谢@Brandon。 - adnan

6
我正在使用Visual Studio Community 2013。
我遇到了相同的错误:
您可以通过更新SQL Server工具来修复它:
Tools --> Extensions and Updates

enter image description here

然后在产品更新下,您将看到更新SQL Server Update的选项。

单击更新,在安装完成后重新启动Visual Studio。

enter image description here


4

3
我在 MSDN 订阅下载页面中搜索了“Visual Studio 2013 Update 2”,并成功找到了下载链接。
此外,我还向微软报告了一个错误。如果您也遇到了 VS2013 SqlBuildTask 04018 错误,请给它点赞以表支持。

3
我遇到了同样的问题。我尝试修复Visual Studio 2013,更新4,SSDT,Dac工具等,但效果并不好。然而,我注意到在C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT中存在一个名为Microsoft.Data.Tools.Schema.SqlTasks.targets的文件,日期是2013年(实际上对应旧版SSDT)。所以我做的就是将新的文件(惊奇地发现它在C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\SSDT中)复制到这个v12.0\SSDT文件夹中,重新启动Visual Studio 2013,现在它可以正常工作了。需要注意的是,新的SSDT目标文件的日期是2014/10/26,大小为75437字节。

1
这是我和我的同事遇到的问题。他也有2013年的.targets文件在C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT,但他在v11.0文件夹中没有“好”的文件。我通过电子邮件将它们从我的计算机发送给了他。这导致我们遇到了另一个构建错误,揭示了他需要更新Sql Server。 - Adam Prescott
1
这节省了我和我的同伴很多时间! - Tresto

1

我之前安装了Visual Studio 2013 Update 5,遇到了这个问题。我按照上面的步骤操作,解决了这个问题 -->

在Visual Studio 2013中,依次选择:工具 -> 扩展和更新... -> 更新 -> 产品更新 -> Microsoft SQL Server Update for database to 12.0.50730.0


我对Visual Studio 2013进行了修复,但这并没有解决问题。然后我对安装的SSDT版本进行了修复;这解决了问题。 - Zarepheth

1

我已经安装了最新版本的SQL数据工具,但在安装VS2015 RC之后,它停止工作。运行SSDT修复后,它再次成功编译。


1
原来问题出在Visual Studio更新3上。我卸载了VS2013并重新安装到更新2,然后重新安装了数据工具,现在它可以完美地工作了。

嗨@GooseZA,你在哪里找到带有Update 2的VS2013?我只有我的msdn中的Vs2013 Update 3...提前感谢。 - dalcam
2
嗨@Goose,我卸载了VS 2013并重新安装到Update 2,但你提到你也重新安装了Data Tools。你是怎么做到的?因为我的在Vs2013 Update 2上仍然无法使用(同样的错误)...谢谢 - dalcam

1

我遇到了同样的问题,只需要重新启动Visual Studio,它就能正常工作。


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