【问题标题】:Why is my project not getting packed with Azure Devops Nuget Pack Task为什么我的项目没有被 Azure Devops Nuget Pack 任务打包
【发布时间】:2019-03-20 09:00:08
【问题描述】:

如下所示,我可以在我的机器上通过命令行打包 .csproj 文件。

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

我的构建未能打包项目。

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

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

【问题讨论】:

  • 您是否尝试过在 csproj 或 nuspec 的路径中指定一个项目文件而不是通配符,例如 src\Libraries\xxx.Abrams.common\xxx.Abrams.common.csproj?我已经创建了一个简单的示例但没有重现此问题,您也可以尝试创建一个新项目来测试它。
  • 我很欣赏这个建议。看着this question,我的斗争的这个特殊部分似乎是由于我的配置变量中没有值。
  • 我现在在打包一个引用不同(阅读:第三方)包的项目时遇到问题。所有其他项目似乎都打包得很好,但是这个使用包的项目说找不到包。这不应该作为依赖处理吗?
  • 感谢您的回复。看来你已经解决了这个问题?如果是,请分享您的解决方案作为答案吗?这可能对阅读此线程的其他社区成员有益,我们可以关闭此线程。现在你的问题是有人使用包说找不到包?是的,第三方包应该作为依赖处理,你可能需要下载pack包检查是否作为依赖处理,并检查这个依赖包是否恢复?

标签: visual-studio nuget azure-devops .net-4.7.1


【解决方案1】:

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

任务未正确引入依赖项的次要问题是 known issuenuget.exe 已通过使用带有 /t:Pack 选项的 MSBuild 任务得到缓解。

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

请务必记下为定位 Pack 提供给 MSBuild 的参数。

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

【讨论】:

  • 您能否显示在管道中添加对 Nuget 包的引用的首要任务的详细信息?
猜你喜欢
  • 1970-01-01
  • 2022-08-24
  • 2019-12-21
  • 2020-09-23
  • 1970-01-01
  • 2021-04-11
  • 2022-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多