gpt4 book ai didi

nuget - Paket include-referenced-projects 与项目引用

转载 作者:行者123 更新时间:2023-12-02 04:28:38 26 4
gpt4 key购买 nike

我有一个看起来像这样的解决方案:

 -> Proj A
-> proj B

Proj B 引用 Proj A

这两个项目都有一个如下所示的 paket.template:

当我 paket pack 时,我创建了两个 nuget,每个项目一个。太棒了。

但是,我现在想让 ProjA.dll 捆绑在 ProjB 的 nuget 中(ProjB 是一个 .exe/tool需要捆绑其依赖项才能运行)。

include-referenced-projects true 添加到 ProjBpaket.template 没有效果,paket 的任何组合也没有效果 我试过的命令行 --include-referenced-projects true

这是否受支持?这是错误吗?

无论哪种方式,如果不为容纳 ProjAProjB 制定单独的解决方案,我如何才能实现我想要的?

最佳答案

如果您从生成的 nuget 包中查看 ProjB.nuspec,您会看到 nuget 对 ProjA 包的引用。因此生成的 ProjB 包具有所有需要的依赖项。

您可以通过多种方式实现您想要的:

  1. 通过命令打包ProjB paket pack <output> --template <path to ProjB paket.tempplate> (没有 --include-referenced-projects 标志)。如果需要,可以通过单独的命令打包 ProjA。

  2. 删除 paket.template来自 ProjA,然后用 --include-referenced-projects 打包 ProjB旗帜。但在这种情况下,不会创建 ProjA 包。

  3. 将 ProjB 的 paket.template 类型从“项目”更改为"file",并手动指定所有依赖项和文件。

  4. (HACK:)) 您可以从 paket.template 为 ProjA 重命名 paket.template|至 <somethingElse>.template并用 --include-referenced-projects 打包 ProjB旗帜。Paket 不会发现 ProjA 生成 nuget 包并将其作为二进制依赖项添加到 ProjB。您仍然可以使用单独的命令打包 ProjA paket pack --template "path to <somethingElse>.template"

关于nuget - Paket include-referenced-projects 与项目引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51205320/

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