gpt4 book ai didi

nuget - NuGet 包被声明为可用于生产后,如何重新打包它们?

转载 作者:行者123 更新时间:2023-12-04 21:42:21 25 4
gpt4 key购买 nike

我有一个生成多个 NuGet 包的解决方案,我在构建过程中打包这些包。我希望我的每晚构建被标记为预发布,因此我相应地对我的包进行版本控制:1.2.3-PreRelease0001 .但是,一旦每晚构建通过测试,我想使用相同的包发布相同的构建,但使用非 PreRelease 版本:1.2.3 .

我的问题:如何使用不同版本重新打包 NuGet 包?我想我可以破解一些解压缩/编辑/nuget pack脚本,但有更好的方法吗?

备择方案:

  • 不要在构建过程中打包 - 在单独的过程中打包,我可以稍后重新运行。
    骗子:如果我在构建期间打包,我可以访问 <Content>直接来自来源的文件
  • 运行另一个构建,这次使用非 PreRelease 版本打包。
    骗子:想要分发与我测试过的完全相同的位...
  • 不要将每晚构建标记为 PreRelease,而是将它们发布到单独的存储库。
    骗子: PreRelease 软件包没有这样标记,可能会被误认为已发布。
  • 在构建期间打包两次:一次使用 PreRelease,一次不使用。
    骗子:人们可能会想引用非 PreRelease 版本。也许我可以把它们放在一些 GeneratedDoNotTouch文件夹...
  • 最佳答案

    NuGet 中没有用于更改包元数据的公共(public) API。我想说最后一个解决方案,即在构建期间同时生成预发布和非预发布包,是最好的。

    为了防止人们意外使用非预发布包,您可以先在私有(private)目录中创建它。然后,仅在构建通过测试后发布它。

    是的,您可以从包中提取 nuspec 文件,进行必要的更改,然后将文件保存回包中。问题是,如果更改 nuspec 格式,这可能会停止工作。

    关于nuget - NuGet 包被声明为可用于生产后,如何重新打包它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23271043/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com