Visual studio 2013 如何在团队中共享NuGet
我有一个包含6个研发项目的解决方案。最近,我们升级到Visual Studio 2013,升级解决方案后,我添加了第7个项目(ASP.net MVC),该项目在我的解决方案文件夹中添加了一个packages文件夹 我最近将我的解决方案和项目添加到我们的生产份额中,这一份额由其他3名开发人员共享。我们的生产解决方案引用了一个libraries子文件夹。与我们的构建开发人员讨论我在生产环境中新添加的解决方案和项目文件夹时,他希望看到packages文件夹作为Libraries子文件夹的子文件夹移动,并且所有团队都引用该位置的单个packages文件夹。我们不使用Team Foundation。 既然我没有告诉nugget在哪里创建包(它们只是放在解决方案文件夹中),那么在我将文件夹移动到新位置后,有没有办法告诉它在哪里查找包?其他开发人员将如何配置他们的VisualStudio实例以查看共享文件夹而不是本地计算机?假设,一旦他们在本地构建解决方案,它也会添加一个本地包文件夹,我们不希望这样Visual studio 2013 如何在团队中共享NuGet,visual-studio-2013,nuget,Visual Studio 2013,Nuget,我有一个包含6个研发项目的解决方案。最近,我们升级到Visual Studio 2013,升级解决方案后,我添加了第7个项目(ASP.net MVC),该项目在我的解决方案文件夹中添加了一个packages文件夹 我最近将我的解决方案和项目添加到我们的生产份额中,这一份额由其他3名开发人员共享。我们的生产解决方案引用了一个libraries子文件夹。与我们的构建开发人员讨论我在生产环境中新添加的解决方案和项目文件夹时,他希望看到packages文件夹作为Libraries子文件夹的子文件夹移动,
看起来这很直截了当。事实上,NuGet网站说您可以共享packages文件夹,但它说您必须修改NuGet.config,而我的解决方案中没有。感谢您的任何想法/建议。Nuget本身就是一个包管理存储库。它的全部目的是允许您集中地将您需要的包(库、配置等)放到系统的本地位置(无论是开发、生产等),而无需将这些库提交给您的源代码管理。相反,任何开发人员只需提交一个文件,该文件相当于“按此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进行开发和构建系统的链接。网络上还有许多其他资源