我想创建并分发一个 NuGet 包,安装后仅将整个解决方案安装到根目录packages
-文件夹,引用中的包.NuGet\packages.config
file.
我已经找到了一些有关该主题的 NuGet 包格式的信息,并且根据NuGet 常见问题解答 https://docs.nuget.org/consume/nuget-faq如果遵循以下准则,这应该是可能的:
项目级包和解决方案级包有什么区别?
解决方案级包只需在解决方案中安装一次
可用于解决方案中的所有项目。项目级
软件包必须单独安装在您想要的每个项目中
用它。对于解决方案级包,NuGet 不会更改任何内容
一个项目,而在项目级包中则如此。通常,一个
解决方案级包安装可以从以下位置调用的新命令
在包管理器控制台窗口中。
Another 建议的解决方案 https://stackoverflow.com/questions/13982158/how-to-create-a-solution-level-nuget-package指出上述内容也应该有效。
问题是,我无法让它发挥作用。我已经验证我的包没有 lib 或内容目录:
我已将所有要分发的文件放在tools
- 包中的文件夹,包括安装时运行的 init.ps1` 脚本。
我正在使用 Visual Studio 2015,当我想安装该包时:
- 我首先必须选择要安装的项目。我原以为不必指定这一点,因为它应该是解决方案范围内的。
:/
- The
init.ps1
脚本确实按照我希望的那样运行并执行命令。:)
- But, a
packages
-文件夹是在我被迫选择完成安装的项目中创建的。我本以为packages
-要在解决方案根目录中创建的文件夹。:(
- 另外,
packages.config
文件是在项目文件夹中创建的,而不是在.NuGet\packages.config
,正如我在阅读我找到的相关文档后所期望的那样。:(
关于如何让它发挥作用有什么建议吗?这是 VS 2015 的限制还是 NuGet 3 的更改(因为我相信它包含在 VS2015 中)?
NuGet 团队已弃用的解决方案级别包 https://github.com/NuGet/Home/issues/522在 NuGet 3.0 中。
有一个讨论 https://github.com/NuGet/Home/issues/1521关于以与 Visual Studio 2013 兼容的方式将它们带回 NuGet 的未来版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)