首页 > 解决方案 > 为什么我的项目没有被 Azure Devops Nuget Pack 任务打包

问题描述

正如您在下面看到的,我可以在我的机器上从命令行打包 .csproj 文件。

在此处输入图像描述

但是,当我尝试使用此配置在 Azure Devops 中执行此操作时:

在此处输入图像描述

我的构建无法打包项目。

在此处输入图像描述

我的搜索都没有提供有关我的项目中的内容依赖于 System.ValueTuple.4.4.0.nupkg 的信息。

为了完整起见,这里是 VS 2017 解决方案资源管理器中的项目。

在此处输入图像描述

标签: visual-studionugetazure-devops.net-4.7.1

解决方案


NuGet Pack任务在打包项目时遇到问题,因为我没有$(BuildConfiguration)在管道上明确设置变量的值。

任务未正确引入依赖项的第二个问题是一个已知问题,通过使用带有该选项的MSBuild任务nuget.exe已得到缓解。/t:Pack

我的构建管道任务现在看起来像这样:

MSBuild -t:Pack

确保记下为 MSBuild 提供的用于定位的参数Pack

对于 .Net Framework,还要注意Powershell任务将包引用添加到NuGet.Build.Tasks.Pack包,这会将 Pack 添加为 MSBuild 的目标。我将此 powershell 任务添加到构建中,以便开发人员无需将包显式添加到此解决方案中的新项目中。


推荐阅读