2013-08-19 35 views
7

我試圖從發佈命令行.sqlproj用的MSBuild用命令: msbuild /t:Publish [MySqlProjPath]但我得到以下錯誤:數據庫的MSBuild沒有發佈命令行工作

error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\SSDT\Microsoft.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文件?

回答

12

你應該通過以下參數的MSBuild:

/p:VisualStudioVersion=11.0 /t:Rebuild;Publish 

這告訴的MSBuild使用VS2012的目標。

傳遞VisualStudioVersion是必需的,因此VS2010和Vs2012可以共享相同的項目文件:即項目文件不存儲目標VS版本里面本身

+1

多數民衆贊成真棒,就像一個魅力我的一些解決方案的期待2013噸的組件,這修正了/p:VisualStudioVersion=11.0 –