Azure DevOps - 有条件的包恢复

2023-12-14

通过 Azure DevOps 管道构建的解决方案有一些使用条件包引用的项目,例如:

<Choose>
    <When Condition="'$(Configuration)'=='Debug'">
      <ItemGroup>
         <PackageReference Include="Mock.MyPackage" Version="1.0.0" />
      </ItemGroup>
    </When>
    <Otherwise>
      <ItemGroup>
         <PackageReference Include="MyPackage" Version="1.2.0" />
      </ItemGroup>
    </Otherwise>
</Choose>

包源是私有 NuGet 源。

dotnet 恢复任务不考虑条件包选择。 (它恢复 Mock.MyPackage)
问题:
如何有条件地恢复包(基于 $Configuration)?

Remarks:
我还尝试通过指定 MsBuild 参数在 Visual Studio 生成任务期间进行恢复:/t:restore。
在这种情况下,它会失败并显示一条消息:无法从远程源检索有关 XX 的信息。如果此命令可以恢复包,我如何为私人提要指定授权参数?

Github上有一个问题:https://github.com/NuGet/Home/issues/5895最后提到了这样的问题。


Azure DevOps - 有条件的包恢复

这个问题应该与您的具体要求和当前的限制有关Visual Studio Build task/dotnet restore.

正如您测试的那样,如果我们使用restore task,我们无法为此任务指定配置参数。因为没有这样的选项来接收恢复任务的配置参数。这就是为什么它总是恢复默认包的原因Mock.MyPackage.

如果您使用Visual Studio build task,我们无法为私人提要指定授权参数。

为了解决此问题,我使用命令行 V1 任务来调用 MSBuild,以使用以下 MSBuild 参数来恢复和生成项目:

-t:restore;build "CoreConditionRestore/CoreConditionRestore/CoreConditionRestore.csproj" -p:RestoreSources="<MyFeed>/v3/index.json" -p:RestoreConfigFile="<MyNugetConfigPath>\nuget.config" /p:Configuration=Debug

enter image description here

注意:我们可以将私人提要的授权参数保存在nuget.config file.

作为测试,它在我这边与 DevOps 配合得很好。

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure DevOps - 有条件的包恢复 的相关文章

随机推荐

  • 卡夫卡流 RoundRobinPartitioner

    我编写了一个kafka流代码 使用kafka 2 4 kafka客户端版本和kafka 2 2服务器版本 我的主题和内部主题有 50 个分区 我的 kafka 流代码具有 selectKey DSL 操作 并且我有 200 万条使用相同 K
  • 如何检查一个 div 是否包含另一个 div?

    如果我的父 div 有一个仅使用 JavaScript 的子 div 我需要显示警报 而不使用 jQuery 我尝试过使用contains 函数来检查我的 div 并发送警报 但它不起作用 div class ro div
  • 如何在c#中将数据表绑定到datagridview

    我需要绑定我的数据表 to my 数据网格视图 我这样做 DTable new DataTable SBind new BindingSource ServersTable DataGridView for int i 0 i lt Ser
  • 在数组上的过滤方法之后指定所需的类型

    我想在两个数组之间进行分离 在一个数组中 对象没有特定的值 另一方面 它应该有一个字符串 interface Relation
  • NodeList 上的 addEventListener [重复]

    这个问题在这里已经有答案了 NodeList是否支持addEventListener 如果不是 将 EventListener 添加到 NodeList 的所有节点的最佳方法是什么 目前我正在使用如下所示的代码片段 是否有更好的方法来做到这
  • mysql:获取两个日期时间之间的记录计数

    我在 MySQL 中遇到了一个问题 我想获取两个日期时间条目之间的记录数 例如 我的表中有一个名为 created 的列 其中包含datetime数据类型 我想计算在 今天凌晨 4 30 和 当前日期时间 之间创建的日期时间记录 我尝试了
  • 如何在多线程中取消DefaultHttpClient执行过程

    我正在开发一个非常依赖互联网的Android应用程序 我经常使用它检索数据RestClient类 其中包含有关使用 DefaultHttpClient 执行网络请求的一些详细信息 我总是使用不同的线程来执行 HTTP 请求 我创建一个这样的
  • 如何解决C和Python混合编程时的“分段错误”?

    在我的Ubuntu下 猫测试 py Filename test py def Hello print Hello world 猫汤姆 cpp include
  • CSS中如何让文本围绕不规则形状流动

    我正在尝试弄清楚如何让文本围绕页面上的不规则形状流动 但我不太幸运地弄清楚如何做我想做的事情 我附上了一张显示我正在尝试使用的布局的图像 我希望文本像图像中那样流畅 我在 MS Paint 中做了这个模型 每个页面上都可以有任何内容 所以我
  • 如何使我的 Blazor 服务器端应用程序 IIS 8.5 保持活动状态

    我需要让我的 blazor 服务器端应用程序始终保持活动状态 我尝试将 iis 8 5 启动模式设置设置为 alwaysrunning 并将 idle 设置为 0 但仍然关闭应用程序并捕获停止信号 在 23 点到 29 点之间 我必须做什么
  • 使用从kernel32.dll导入的SetThreadAffinityMask函数

    我正在尝试使用设置线程亲和力SetThreadAffinityMask在我的 C 代码中从 kernel32 dll 导入的函数 这就是我导入它的方式 DllImport kernel32 dll static extern IntPtr
  • 从“原型”和“新”转向封闭和暴露模式

    我一直在重构别人的 JavaScript 代码 BEFORE function SomeObj flag var private true this flag flag true false this version 1 1 prototy
  • 如何在 Nest for Elasticsearch 中添加完整的短语标记器?

    当我使用构面创建搜索时 我希望构面结果出现在整个短语上 而不是单个单词上 我希望它不区分大小写 就像 not analyzed 那样 例如 如果我有一个音乐 json 对象 并且想要根据流派组织分面结果 我希望将每种流派视为整个流派术语 节
  • Winforms 阿拉伯语输入文本框

    在我的 Windows 申请表 C 上 我有阿拉伯语和英语文本框 对于阿拉伯语文本框 我想自动将我的语言转换为阿拉伯语 而无需按 alt Shift 我在互联网上找到了这个解决方案 并在 TextBox Enter 上实现了它 privat
  • 如何检查 JSONObject 中值的类型?

    我正在尝试获取存储在 a 中的值的类型JSONObject String jString a 1 b str JSONObject jObj new JSONObject jString 是否可以获取 key 存储的值的类型 a 就像是jO
  • 特定行和列的自定义单元格渲染器

    puuuuuuf 我开始喜欢 swing 我正在尝试编写一个 cellRenderer 来自定义渲染除第一行和第一列中的单元格之外的所有单元格 所以我写了以下内容 public class CustomTableCellRenderer e
  • JavaFX TextField 文本验证

    我有一个listener应用于我的领域 nameTextField addEventHandler KeyEvent KEY TYPED fieldChangeListener 50 事件处理程序 private EventHandler
  • 我可以直接创建 1T 大小的 Windows Azure 驱动器吗

    Windows Azure 驱动器的最大大小为1T M only 收取其中的数据 而不是大小 我的问题是 为什么不直接创建一个大小为 1T 的 Azure 驱动器 这样就不用再担心调整大小等问题了 或者 如果我创建的驱动器大于我需要的大小
  • webkit css resize 不适用于画布作为子项?

    假设以下 html 和 css 代码片段 outer width 100px height 100px overflow hidden resize both border 1px solid black inner width 100 h
  • Azure DevOps - 有条件的包恢复

    通过 Azure DevOps 管道构建的解决方案有一些使用条件包引用的项目 例如