我有一个看起来像这样的解决方案。
我想为ProjA、ProjB和ProjC分别生成NuGet包。我希望这个过程能检测到ProjC中上述的项目引用,并在nuspec文件中将它们转换为NuGet依赖项,而不是仅将ProjA和ProjB的dll包含在ProjC的NuGet包中。当我使用“nuget pack”命令时,该命令会使用“-IncludeReferencedProjects”选项进行设置。这个选项表示自动将文件包含或添加为依赖项,但始终会将它们包含进去,即使我希望它们被添加为依赖项。奇怪的是,在我的解决方案中,一个项目引用总是被添加为依赖项,但其他的没有被添加,我无法弄清楚其中的差异。我该如何告诉NuGet将它们作为依赖项添加?我希望这些引用是项目引用,因为这样更容易进行开发,而不必每次测试时都要生成更新本地的NuGet包。
ProjA.nuspec
和ProjB.nuspec
添加到相应的项目文件夹中时,nuget pack
命令才能识别ProjA
和ProjB
作为NuGet包。在这种情况下,IncludeReferencedProjects
将生效,将它们作为你所期望的NuGet依赖项添加...除此之外,我们还可以选择创建一个ProjC.nuspec并在其中手动定义NuGet依赖项。 - LoLance