1

我已經創建了.NET解決方案,包含Visual Studio 2012包項目(從VS2012 SDK)。在Visual Studio中,我成功編譯並運行了此項目(以及整個解決方案),其中「調試」配置模式和「任意CPU」平臺。但是,當我嘗試使用建立在命令行的解決方案的MSBuild,我得到的錯誤:MsBuild with Visual Studio 2012包項目

命令:

msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Any CPU" 

錯誤:

錯誤:無法找到安裝爲VS SDK。
錯誤MSB4018:「FindVsSDKInstallation」任務意外地失敗 。
錯誤MSB4018:System.ArgumentNullException:值 不能爲空。
錯誤MSB4018:參數名:路徑1
錯誤MSB4018:在System.IO.Path.Combine(字符串拍拍 H1,字符串PATH2)
錯誤MSB4028:在 「FindVsSDKInstallation」 任務的OU tputs無法從「IncludesPath」參數中檢索。值不能爲 null。
錯誤MSB4028:參數名:路徑1

所有活動都在我的本地Windows 7進行安裝VS2012和SDK。

我在網上尋找解決方案,我發現以下主題:FindVsSDKInstallation task fails on the build box。有人說這樣的項目應該編譯爲「x86」平臺,因爲devenv.exe進程是32位的。因此,我將項目屬性的Platform Target屬性更改爲「x86」(對於「調試」模式)。結果是一樣的 - 項目在VS中成功構建,但不在MsBuild中。

爲什麼使用VS正確構建VS2012 Package項目,但MsBuild失敗?我應該如何運行MsBuild才能成功構建它?

回答

2

首先,您需要使用visual studio命令提示符或調用vsvars批處理文件,例如 「C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ Tools \ vsvars32。蝙蝠」
其次,你給的鏈接也說

‘我認爲設置‘VsSDKInstall’環境變量應該工作 太’

有一個相關的帖子here