dotnet pack --no-build选项失效,Azure DevOps流水线遇NETSDK1085错误
解决Azure DevOps NuGet打包报错NETSDK1085的方案
问题原因
使用DotNetCoreCLI@2的custom命令执行pack并搭配--no-build时,会意外触发Build目标,导致和NoBuild=true的设置冲突,抛出NETSDK1085错误。
修正后的YAML配置
直接使用任务内置的pack命令替代custom命令,这样--no-build参数能正确被识别,避免触发不必要的构建:
- task: DotNetCoreCLI@2 displayName: 'Build' inputs: command: 'build' arguments: '--configuration $(BuildConfiguration) /p:Version=$(Build.BuildNumber)' projects: '**/PdfReport/*.csproj' - template: SignFilesWithAzureSignTool.yml parameters: filesToSignPatterns: - RegEx: '.*\SHS.SMI.ITS.*.dll' BasePath: '$(Build.SourcesDirectory)' - task: DotNetCoreCLI@2 displayName: 'Create NuGet Package' inputs: command: 'pack' projects: '**/PdfReport/*.csproj' arguments: '--no-build --configuration $(BuildConfiguration) /p:Version=$(Build.BuildNumber)' versioningScheme: 'byBuildNumber'
关键说明
- 改用
pack命令后,--no-build会正确跳过构建流程,直接使用之前构建并签名好的二进制文件生成NuGet包。 - 保留
--configuration和版本参数,确保打包时的配置和版本与构建阶段一致,避免出现不匹配的情况。 - 签名后的二进制文件会被自动包含到NuGet包中,无需额外路径配置(只要构建输出目录符合项目默认设置)。
内容的提问来源于stack exchange,提问作者Rajanbabu
相关产品推荐
相关产品推荐

