如何在团队中分享NuGet

时间:2014-09-15 17:58:54

标签: visual-studio-2013 nuget

我有一个包含6个R& D项目的解决方案。最近我们升级到Visual Studio 2013,在升级解决方案后,我添加了第7个项目(ASP.net MVC),它将一个packages文件夹添加到我的解决方案文件夹中。

我最近将我的解决方案和项目添加到我们的生产共享中,该共享由3个其他开发人员共享。我们有一个库子文件夹,我们的生产解决方案参考。通过我们的构建开发人员向我们的生产环境讨论我新添加的解决方案和项目文件夹,他希望看到packages文件夹作为Libraries子文件夹的子文件夹移动,并且所有团队都引用该位置的单个包文件夹。我们不使用Team Foundation。

由于我没有告诉nugget在哪里创建软件包(它们只是放在解决方案文件夹中)有没有办法告诉它在将文件夹移动到新位置后查找软件包的位置?其他开发人员如何配置他们的Visual Studio实例来查看共享文件夹而不是本地计算机?假设,一旦他们在本地构建解决方案,它还将添加本地包文件夹,我们不希望这样。

似乎这很简单。事实上,NuGet网站说你可以共享包文件夹但是它说你必须修改nuget.config而我在我的解决方案中没有这个。任何想法/建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

Nuget本身就是一个包管理库。它的全部目的是允许您集中下载系统本地所需的软件包(库,配置等)(无论是dev,生产还是其他),而无需将这些库实际提交到源代码控制中。相反,任何开发人员只需提交一个文件,该文件相当于“通过此ID(名称)和版本获取包。”

此过程在解决方案中的每个项目的顶级创建一个名为packages.config的文件。该文件看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="EntityFramework" version="6.1.1" targetFramework="net45" />
  <package id="jQuery" version="2.1.1" targetFramework="net45" />
</packages>

文件本身放置在他们需要的项目中(对于像jQuery这样的项目),或者库二进制文件存储在解决方案的顶层,名为 packages 不应检入源代码管理

您还可以为Nuget启用“自动恢复”软件包,这样当任何人检出您的项目时,他们将自动获取所需的库和内容,以便您的项目正确运行/构建。

这意味着每个人都可以获得他们需要的东西,您不需要管理自己的“库存储库”(请...没有共享文件夹!),并且,在任何时候,您都可以查看packages.conf文件夹看看你的项目取决于什么。

以下是有关如何启用和使用Nuget进行开发和构建系统的更多链接。网上还有很多其他资源。