我几乎完成了迁移大型解决方案以使用NuGet进行依赖。在此之前,该项目只有一个 Lib 目录,其中包含子目录中的所有二进制依赖项。但是,官方NuGet提要中没有一些依赖项。因此,我有几个选择:
我不喜欢#1,因为这意味着我将负责保持最新的包裹。我不喜欢#2,因为在一个解决方案中有两种管理依赖关系的机制很麻烦。
因此,我倾向于#3,但找不到任何关于约定的文档。我了解如何创建本地提要,如何告诉Visual Studio等等。我找不到的是,是否存在围绕包含本地提要的目录的命名的约定以及此方法可能带来的任何其他内容。有谁知道标准做法是什么?
答案 0 :(得分:2)
您缺少的是选项#4 - 设置私有NuGet存储库。这是解决此问题的标准做法。
有几个私有的NuGet服务器,包括我公司的一个(Inedo):
“依赖管理器”(即NuGet)的重点在于管理跨项目的依赖关系,因此拥有“项目本地存储库”实际上没有意义 - 这实际上只是一个非常复杂的“lib”文件夹中。
答案 1 :(得分:1)
Project-local NuGet feed ...你想把那个相对于你的项目放在哪里?你想如何与你的队友分享这个“本地”饲料?只是想知道,因为NuGet已经安装了所有的项目本地($(SolutionDir)\ Packages),所以你也可以禁用包恢复并将包提交到VCS中?
可能还有另一种选择:您是否已尝试MyGet.org?我们为您提供托管在Windows Azure上的NuGet即服务:注册,创建订阅源(或更多),可选择保护它,邀请其他人并开始使用。这是在默认NuGet服务器功能之上提供的features列表。 MyGet还确保在我们的所有计划中免费与最新的NuGet客户端工具兼容。
还有一个免费的计划,您也可以开始尝试任何其他计划。查看http://www.myget.org/plans或发送电子邮件以获取更多信息。如果您正在寻找与内部部署Active Directory的集成,请查看企业计划。 如果您不想要托管解决方案并希望自己维护所有内容,那么ProGet可能适合您。