我有一个由单目标和多目标项目组成的解决方案。该解决方案可以在 Visual Studio 2017 和 Developer Command Prompt for VS 2017 中构建,没有问题。
我在 VS 2017 的开发人员命令提示符中通过以下代码构建解决方案
msbuild MySolution.sln /t:Rebuild /p:Configuration=Release
我想在詹金斯做这个过程。然后我将以下命令添加到 Jenkins。
pushd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools"
call VsDevCmd.bat
msbuild "C:\Workspace\My Solution\MySolution.sln" /t:Build /p:Configuration=Release
当我构建 Jenkins 项目时,它会引发异常。
C:\Program Files\dotnet\sdk\2.1.101\Sdks\Microsoft.NET.Sdk\build\
Microsoft.PackageDependencyResolution.targets(327,5): error : Assets file
'C:\Workspace\My Solution\Source\MyProject\obj\project.assets.json' not found.
Run a NuGet package restore to generate this file.
非常感谢
Jenkins 无法识别msbuild命令。当我更改如下代码时,它开始工作。
C:\nuget.exe restore "C:\Workspace\My Solution\MySolution.sln"
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64\MSBuild.exe" "C:\Workspace\My Solution\MySolution.sln" /t:Build /p:Configuration=Release;VisualStudioVersion=15.0
我添加了 nuget restore 命令并使用msbuild.exe 的完整路径更改了msbuild命令。最后我把VisualStudioVersion作为参数。
谢谢@c-约翰逊
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句