gpt4 book ai didi

msbuild - 忽略 Azure Pipelines 中 .vdproj 项目的 NuGet 包还原

转载 作者:行者123 更新时间:2023-12-04 14:16:49 25 4
gpt4 key购买 nike

我正在尝试针对包含 Visual Studio Installer Project 的 .NET Framework 4.7.2 解决方案设置 Azure DevOps 构建管道。 .我已经在安装了 Visual Studio 2019 社区的 Windows Server 2019 VM 上设置了自托管代理。生成管道包含 NuGet 安装程序任务,然后是 NuGet 任务,设置为还原引用的 NuGet 包。下面是 YAML 片段:

- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '$(solution)'
但是,使用此配置运行构建会导致构建日志中出现以下错误:
[错误] nuget 命令失败,退出代码 (1) 和错误 (C:\##############.vdproj(1,1): error MSB4025: The project file could not be已加载。根级别的数据无效。第 1 行,位置 1。)
这似乎是由于在较新版本的 nuget.exe 中进行了性能增强。建议,基于 this GitHub 问题,是使用 RestoreUseSkipNonexistentTargets 启用跳过不存在的包目标MSBuild 设置。
GitHub 问题提到使用 NUGET_RESTORE_MSBUILD_ARGS NuGet CLI environment variable为了设置此属性,但我不知道如何通过 NuGet 构建任务来实现这一点。
由于 NuGet 现在已与 MSBuild 集成,因此我尝试将此属性设置为 false通过 NuGet 任务的命令行参数。我修改了 YAML,将命令设置为 custom为了传递参数。我基于 MSBuild restore documentation 的语法.现在看起来像这样:
- task: NuGetCommand@2
inputs:
command: 'custom'
arguments: 'restore "$(solution)" -p:RestoreUseSkipNonexistentTargets=false'
此构建配置导致以下错误:
[错误] nuget 命令失败,退出代码 (1) 和错误(未知选项:'-p:RestoreUseSkipNonexistentTargets=false')
我的问题是,如何让 NuGet 还原任务跳过 .vdproj 项目上的包还原?
编辑
解决方案中的另一个项目是 C# WinForms .NET Framework 项目。我们使用的是packages.config 而不是PackageReference。

最佳答案

As for your original issue: MSB4025



正如你上面提到的,这是一个 Unresolved 问题 here .任何对它感兴趣的人都可以在那里跟踪问题。

[error]The nuget command failed with exit code(1) and error(Unknown option: '-p:RestoreUseSkipNonexistentTargets=false')



nuget restore 命令无法识别 msbuild 属性。查看类似问题和更多详细信息 here .

The other project in the solution is a C# WinForms .NET Framework project. We're using packages.config rather than PackageReference.
解决方法是使用 nuget 自定义命令,如下所示:
- task: NuGetCommand@2
inputs:
command: 'custom'
arguments: 'restore YourProjectName\packages.config -PackagesDirectory $(Build.SourcesDirectory)\packages'

这可以跳过安装程序项目的恢复步骤。

关于msbuild - 忽略 Azure Pipelines 中 .vdproj 项目的 NuGet 包还原,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59419416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com