我首先要说的是,我从未有过管理NuGet包的经验,即使是最简单的包。但是,我计划在我的下一个项目中使用它,设计可能依赖于我的问题的答案。
为了更好地理解这个问题,让我们假设我们有以下项目,都在一个解决方案下:
Foo 和栏都取决于核心,但不会相互依赖。
因此,我想为 Foo + Core 组合创建一个nuget包,为 Bar + 核心组合,无需将它们分离到不同的解决方案。
这种情况可能吗?
答案 0 :(得分:2)
是的,您的方案是可行的。 NuGet包创建并不依赖于项目所属的解决方案。 您可以定义自己的nuspec文件来打包包,也可以使用csproj文件来执行此操作。请看:https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference
注意:NuGet主要将.dll文件打包到一个包中。即使你使用.csproj文件,它也会查看并从该位置获取.dll。您可以选择使用NuSpec文件存储源代码。
对于NuSpec文件:
对于.csproj文件(我认为这是你应该使用的):
nuget pack <nuspecPath | projectPath> [options]
命令
IncludeReferencedProjects
作为选项,projectpath
分别代表Foo和Bar。这将创建两个单独的NuGet包
满足您的需求。