我如何停止dotnet pack在天蓝色devops中构建项目(--no-build无效)

问题描述 投票:0回答:1

我在使用azure devops的项目创建nuget包时遇到问题,该项目是面向netstandard2.0netcoreapp2.0的.net标准2.0。

我有一个单独的构建和发布管道。

构建管道构建并测试项目。

发布管道从构建中获取输出并在其上运行dotnet pack。但是,它试图同时进行构建(失败)。

我看过的文档建议在调用nuget pack时添加--no-build应该使其使用bin目录中的现有dll。

我已经查看过日志,这是devops一直在运行的命令(我已经删除了一些标识信息):pack E:\Agents\build1\r82\a\...\MyProject.csproj --output E:\Agents\build1\r82\a\...\packages --no-build /p:Configuration=Release --verbosity Detailed

这会进行构建,然后失败,并显示一条消息,提示找不到某些引用的nuget软件包。

我可以在其中放置dotnet restore并进行构建,但是鉴于构建管道已经创建了dll,因此我不明白为什么我们需要这样做。

[注意,我已经看过this,但是在那种情况下,问题是将构建输出到非标准目录,在这里不是这种情况。

感谢任何帮助。

.net azure-devops nuget azure-pipelines-release-pipeline dotnet-cli
1个回答
0
投票

似乎参数--no-builddotnet pack任务的DotNetCoreCLI@2中不起作用。请尝试使用dotnet custom作为解决方法:

steps:
- task: DotNetCoreCLI@2
  displayName: 'dotnet custom'
  inputs:
    command: custom
    projects: '**\*.csproj'
    custom: pack
    arguments: '--no-build'
© www.soinside.com 2019 - 2024. All rights reserved.