将未引用的项目包含到 nuget 包中

Include un-referenced projects into nuget package

我在为我最近接管的存储库创建 nuget 包时遇到问题(没有来自前所有者的有用输入)。我遇到的问题是 VS nuget 包创建似乎没有任何明确的方法可以将其他项目包含到包中。之前构建包的方式是有一个基本的 nuget 包(包),它还包括来自 package.iOS、package.Droid 等的其他几个 dll...但我不知道如何以这种方式构建它。我能想到的唯一其他解决方案(如果我正确阅读了 Microsoft 上的 nuget 文档,这是更正确的方法)是为每个项目创建一个单独的 nuget 包,而不是将它们全部包含在基础包中.

请指教

我完全愿意创建多个更具体的 nuget 包,但是使用这个库的人习惯于只下载基础包,它拥有他们需要的一切。

我查看了文档,据我所知,我可以包含引用的项目,但基础项目不依赖于任何其他项目。

仅供参考,项目结构类似于:

project
project.forms
project.iOS
project.Droid
project.macOS
project.Uwp

project 构建的先前版本的 nuget 还包括 project.iOS, project.Droid, project.macOS, and project.Uwp,而后者又取决于 project

从逻辑上讲,对我来说,似乎每个 project.{} 都应该有自己的包,因为在某些人使用包时可能不需要它们。只是想看看是否有一种简单的方法可以在不增加工作量的情况下继续现有模式。

从头开始 结果我无法通过 VS 从 project.{} 项目中制作单独的包。

好的,找到了,只需要制作一个 .nuspec 文件,并在 nuget pack 命令中引用该文件。

在 .nuspec 文件中,您需要一个 <files> 节点和一个 <file src="...thing.dll" target="lib\..." /> 用于项目中需要的每个 dll。就那么简单。只是希望有一种方法可以在 VS 界面中执行此操作,而不必使用 .nuspec 文件。