我正试图使用MSBuild从命令行发布.sqlproj,命令如下:msbuild /t:Publish [MySqlProjPath]
,但我得到以下错误:
error MSB4019: The imported project "C:Program Files (x86)MSBuildMicrosoftVisualStudiov10.0SSDTMicrosoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
我觉得奇怪的是,从Visual Studio 2012我可以成功发布同一个项目。Visual Studio在发布之前是否设置了任何神奇的msbuild属性以从另一个目录获取.targets文件?
您应该将以下参数传递给MSBuild:
/p:VisualStudioVersion=11.0 /t:Rebuild;Publish
此命令告知msbuild使用VS2012目标。
需要传递VisualStudioVersion
,因此VS2010和Vs2012可以共享同一个项目文件:即项目文件本身不存储目标VS版本