我在使用azure devops的项目创建nuget包时遇到问题,该项目是面向netstandard2.0
和netcoreapp2.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,但是在那种情况下,问题是将构建输出到非标准目录,在这里不是这种情况。
感谢任何帮助。
似乎参数--no-build
在dotnet pack
任务的DotNetCoreCLI@2
中不起作用。请尝试使用dotnet custom
作为解决方法:
steps:
- task: DotNetCoreCLI@2
displayName: 'dotnet custom'
inputs:
command: custom
projects: '**\*.csproj'
custom: pack
arguments: '--no-build'