我正在更新VS 2017的舊Visual Studio擴展。它在Visual Studio和msbuild編譯時在本地計算機上進行調試和發佈。Visual Studio 2017擴展 - VSToolsPath不能正常工作
這是我使用的MSBuild命令行:調用msbuild.exe它失敗this error
在同一個命令行
msbuild VxCop.sln /p:ToolsHome=C:\ProgramData\chocolatey\bin /p:Configuration=Release /p:Platform="Any CPU"
然而,在構建機上(TFS構建2010)爲了解決這個問題,我試圖指定VSToolsPath。我已經試過各種事情,如在.csproj的改變VSToolsPath條目(這似乎是因爲這樣做沒有效果不被考慮在內),並通過它的命令行:
msbuild VxCop.sln /p:ToolsHome=C:\ProgramData\chocolatey\bin /p:Configuration=Release /p:Platform="Any CPU" /p:VSToolsPath=Packages\Microsoft.VSSDK.BuildTools.15.1.192\tools\
這個原因一個很奇怪的錯誤:
CopyFilesToOutputDirectory:
Copying file from "obj\Release\SymCop.dll" to "bin\Release\SymCop.dll".
SymCop -> H:\src\tools\VisualStudioExtensions\Main\VxCop\source\SymCop\bin\Release\SymCop.dll
Copying file from "obj\Release\SymCop.pdb" to "bin\Release\SymCop.pdb".
Done Building Project "H:\src\tools\VisualStudioExtensions\Main\VxCop\source\SymCop\SymCop.csproj" (default targets).
Done Building Project "H:\src\tools\VisualStudioExtensions\Main\VxCop\VxCop.sln" (Build target(s)) -- FAILED.
Done Building Project "H:\src\tools\VisualStudioExtensions\Main\VxCop\build.proj" (default targets) -- FAILED.
Build FAILED.
0 Warning(s)
0 Error(s)
實際擴展項目未在日誌中出現在所有的,而且也沒有,你知道的,錯誤的。但作爲失敗的積累的回報,返回碼是非零和VSIX項目似乎不能建(其輸出丟失)
希望有人有一些建議
感謝
編輯:
對於那些將來閱讀此內容的人,問題似乎是在同一個文件中進一步下降了<Import>
,這並不關心我對$(VSToolsPath)
的更新。
改變這種進口固定它:
<Import Project="$(SolutionDir)\packages\Microsoft.VSSDK.BuildTools.15.1.192\tools\VSSDK\Microsoft.VsSDK.targets"
/>
謝謝利奧。我曾嘗試添加該參數,但無濟於事。問題在於Visual Studio版本插入到構建機器上不存在的路徑中,因爲構建機器只有VS Build Tools,它顯然不會創建該路徑。 編輯:明天當我回到辦公室時,我會提供更多的細節信息,但修復方法是找到實際導入文件並將其更改爲不關心VSToolsPath(基於$(SolutionDir) \包)。 再次感謝 – JohnL