我想创建和分发一个NuGet包,当安装时只安装解决方案范围到根packages
- 文件夹,引用.NuGet\packages.config
文件中的包。
我已经找到了有关此主题的NuGet包格式的一些信息,根据NuGet FAQ,如果遵循这些指南,这应该是可能的:
项目级软件包和解决方案级软件包之间有什么区别?
解决方案级别的软件包只能在解决方案中安装一次 可用于解决方案中的所有项目。项目级别 软件包必须在您希望的每个项目中单独安装 用它。对于解决方案级别的包,NuGet不会改变任何内容 一个项目,而在项目级别的包中。通常,a solution-level包安装可以从中调用的新命令 在程序包管理器控制台窗口中。
另外Suggested SO solution指出上述内容也应该有效。
事情是,我无法理解这一点。我已经验证我的包没有lib或内容目录:
我已将所有文件分发到软件包的tools
- 文件夹中,包括安装时运行的init.ps1`脚本。
我正在使用Visual Studio 2015,当我想安装软件包时:
:/
init.ps1
脚本确实运行并执行我希望他们执行的命令。 :)
packages
- 文件夹,我被迫选择完成安装。我原本希望在solution-root中创建packages
- 文件夹。 :(
packages.config
文件是在项目文件夹中创建的,而不是在.NuGet\packages.config
中创建的,正如我在阅读我在此处找到的文档后所期望的那样。 :(
有关如何使其正常工作的任何建议?这是VS 2015的限制还是NuGet 3的变化(我认为它包含在VS2015中)?
答案 0 :(得分:9)
NuGet 3.0中的NuGet团队deprecated solution level packages。
有一个discussion关于以与Visual Studio 2013兼容的方式将它们重新用于未来版本的NuGet。