Azure Pipeline执行NuGet还原时忽略buildConfiguration配置问题
问题根因
你遇到的问题核心是混淆了Azure DevOps NuGetCommand@2 任务中configuration参数的实际作用:
该参数的作用是指定NuGet自身的配置节点,并不会作为全局MSBuild属性传递给项目文件的解析逻辑,所以你csproj里针对$(Configuration)的条件判断无法拿到你设置的Release值,导致条件匹配失效,最终命中了Debug配置下的本地包版本逻辑。
修复方案
- 调整你的NuGet还原任务配置,删除原有的
configuration参数,新增arguments参数显式传递MSBuild全局属性:
- task: NuGetCommand@2 name: NuGetRestore displayName: Restore Solution inputs: command: "restore" feedsToUse: "select" vstsFeed: "MyProject/MyFeed" includeNuGetOrg: true restoreSolution: "**/*.csproj" arguments: '/p:Configuration=$(buildConfiguration)' # 新增这行
- 额外校验:如果修改后仍未生效,可以在还原任务前添加一个临时的命令行任务,手动执行还原命令并输出诊断日志,确认属性是否正确传递:
nuget restore **/*.csproj /p:Configuration=$(buildConfiguration) -verbosity detailed
内容的提问来源于stack exchange,提问作者Bunny
相关产品推荐
相关产品推荐

