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


74

我在Visual Studio 2013中将数据库项目作为解决方案的一部分。过去三周一直运行良好,现在突然无法构建,因此我无法发布任何更改。我收到一个MSBuild错误:

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

任何人有任何想法吗?今天早上我所做的就是从源代码管理中提取最新的更改。我看不到这怎么会弄乱实际的MSBuild过程,而上次签到的那个人根本没有任何问题。


3
确保您和其他开发人员安装了相同版本的SQL Server数据工具,或者只是尝试安装最新版本。
基思

我已经重新安装了数据工具,修复了Visual Studio和SQL Server。仍然没有运气。这真让我抓狂。
GooseZA 2014年

我有完全一样的问题
dalcam 2014年

1
问题原来是VS 2013 Update3。重新安装并且没有执行更新(因此保留在Update 2上),它可以完美运行。
GooseZA 2014年

6
看来更新4仍未解决……
Gary O. Stenstrom 2014年

Answers:


53

您需要安装最新版本的SQL Server数据工具:

http://msdn.microsoft.com/zh-CN/data/hh297027

确保重新启动VS,然后再次构建解决方案。这样就解决了问题!


3
安装了VS2013(更新4)后,此解决方案为我工作。
艾伦·沙美

2
对于我的VS2013(带有Update 4的社区版),此解决方案也能正常工作。
MKP 2015年

2
我已经安装了它,但它一定已损坏-安装/修复有效。
user489998'2

18

在Visual Studio 2013中->工具->扩展和更新...->更新->产品更新-> Microsoft SQL Server Update for Database to 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社区2013。

我有同样的错误:

您可以通过更新SQL Server工具来修复它:

Tools --> Extensions and Updates

在此处输入图片说明

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

安装后,单击“更新”,然后重新启动Visual Studio。

在此处输入图片说明




3

我遇到过同样的问题。我试图修复Visual Studio 2013,更新4,SSDT,DAC工具等,但效果不佳。

但是我注意到其中提供的Microsoft.Data.Tools.Schema.SqlTasks.targets文件的C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT日期为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\SSDTv11.0文件夹中没有“好”文件。我通过计算机给他发送了电子邮件。这导致我们遇到另一个构建错误,该错误表明他需要更新Sql Server。
亚当·普雷斯科特

1
这节省了我的同志,我花了很多时间!
Tresto

1

原来问题出在Visual Studio Update 3上。我仅将VS 2013卸载并重新安装到Update 2,然后重新安装了数据工具,它现在可以正常使用。


嗨@GooseZA,您在哪里找到带有Update 2的VS2013?我的msdn中只有Vs2013 Update 3。
dalcam

2
嗨,@Goose,我卸载了VS 2013并重新安装到Update 2,但您提到您还重新安装了数据工具。你是怎样做的?由于我的仍然在Vs2013 Update 2上损坏(相同的错误)...谢谢
dalcam 2014年

1

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


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


0

如果对任何人有帮助,我可以安装VS2014 CTP 3,然后可以从中进行构建。有趣的是,在vs2014中成功构建之后,下次您在VS2013中构建时,它将起作用。但是,在VS2013中进行后续构建无法正常工作,直到您在VS2014中进行重建为止。


0

我能够通过修复Microsoft SQL Server数据工具并重新启动Visual Studio 2013来解决此问题。控制面板>右键单击:“ Microsoft SQL Server数据工具”>单击:“修复”>重新启动Visual Studio


0

我遇到过同样的问题。运行磁盘检查,然后重新启动已修复。


0

我遇到了相同的问题,但堆栈跟踪略有不同:

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

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

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

-1

我遇到了相同的错误,并通过重新安装Visual Studio 2015进行了修复

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.