从命令行运行时,数据库msbuild发布不起作用

7
我正在尝试使用MSBuild命令行发布.sqlproj项目,命令如下:msbuild /t:Publish [MySqlProjPath],但是我遇到了以下错误:

error MSB4019: 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets”。请确认声明中的路径正确,并且磁盘上存在该文件。

我发现很奇怪的一点是,从Visual Studio 2012中我可以成功发布相同的项目。难道Visual Studio在发布之前会设置某些神奇的MSBuild属性,以便从另一个目录获取.targets文件吗?

1个回答

12
你应该将以下参数传递给MSBuild:
/p:VisualStudioVersion=11.0 /t:Rebuild;Publish 

这个命令告诉msbuild使用VS2012目标。

传递 VisualStudioVersion 是必需的,因此VS2010和Vs2012可以共享同一个项目文件:即项目文件本身不存储目标VS版本。


1
太棒了,运行得非常好。我的一些解决方案需要2013组件,这个命令修复了它:/p:VisualStudioVersion=11.0 - Orn Kristjansson

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