缺少项目类型“PackageReference”的必需属性“OutputPath”

sum*_*lya 7 msbuild jenkins-pipeline

我正在尝试通过 Jenkins Pipeline 运行以下命令

bat 'nuget restore mySolution.sln -MSBuildPath "C:\\Program Files (x86)\\MSBuild\\14.0\\Bin"'
Run Code Online (Sandbox Code Playgroud)

但我收到错误提示

无效的恢复输入。缺少项目类型“PackageReference”的必需属性“OutputPath”。输入文件:C:\Program Files (x86)\Jenkins\workspace\My Project Build Pipeline\myProject\myProject.csproj。

我试过

bat label: '', script: '"C:\\Package tools\\nuget.exe" restore "C:\\Program Files (x86)\\Jenkins\\workspace\\My Project Build Pipeline\\myProject\\myProject.csproj" -MSBuildPath "C:\\Program Files (x86)\\MSBuild\\14.0\\Bin"'  // Restore packages.
Run Code Online (Sandbox Code Playgroud)

当我们在 Visual Studio 中“恢复 NuGet 包”时,我希望所有的 NuGet 包都得到安装。

Mar*_*ich 6

显然,您正在使用 VS 2015 工具 (MSBuild 14) 和/或较旧的 nuget.exe (< 4.0.0) 来使用PackageReference引用 NuGet 包的方式处理项目。使用较新的工具(Nuget 4+、VS / Build Tools 2017+)来解决这个问题。

  • 谢谢。我正在使用 VS 2019 和 NuGet 4+。但它选择的是 MSBuild 版本 14。我必须将其指向位于 Microsoft Visual Studio 程序文件中的最新 MSBuild。 (2认同)