我有一个看起来像这样的解决方案:
-> Proj A
-> proj BProj B参考Proj A
这两个项目都有一个如下所示的paket.template:
当我使用paket pack时,我会创建两个nugets,每个项目一个。太棒了。
但是,我现在希望将ProjA.dll捆绑到ProjB的nuget中(ProjB是一个.exe/工具,需要捆绑其依赖项才能运行)。
将include-referenced-projects true添加到ProjB的paket.template中没有任何效果,我尝试过的任何paket命令行--include-referenced-projects true组合也没有效果。
这是否受支持?这是一个bug吗?
无论哪种方式,我如何才能实现我想要的,而不需要为ProjA和ProjB创建单独的解决方案
发布于 2018-07-06 17:53:35
如果您从生成的nuget包中查看ProjB.nuspec,您会看到nuget引用到ProjA包。因此,生成的ProjB包具有所有需要的依赖项。
你可以通过以下几种方式实现你想要的:
paket pack <output> --template <path to ProjB paket.tempplate> (不带--include-referenced-projects标志)。如果需要,可以使用单独的命令打包ProjA。paket.template,然后使用--include-referenced-projects标志打包ProjB。但是在这种情况下,ProjA的package paket.template ProjB将不是从“paket.template”到“paket.template”的类型,并指定所有的依赖项和文件。您可以将paket.template manually.paket.template重命名为<somethingElse>.template,并使用--include-referenced-projects标志打包ProjB。ProjB不会找到ProjA生成的nuget包,并将其作为二进制依赖项添加到Paket中。您仍然可以使用单独的命令paket pack --template "path to <somethingElse>.template"打包ProjA
https://stackoverflow.com/questions/51205320
复制相似问题