解决方案 VS2015 的 NuGet 配置文件 (NuGet 3.4+)

NuGet Configuration File for Solution VS2015 (NuGet 3.4+)

好吧,这听起来可能是一个重复的问题,但就我的搜索而言,事实并非如此。

我一直在寻找一种正确的方法来在我的解决方案中配置特定的 nuget 包源(url),自动生成所有内容(.nuget 文件夹 and/or nuget 配置文件)解决方案路径。

我不想使用 APPDATA 和 MACHINE。

我只想对所有内容使用解决方案目录,因此当另一个用户从存储库中获取解决方案时,它会正确安装所有内容(包括包文件夹中的 nuget 引用)。

我一直在阅读 NuGet 文档,似乎实现这一点的方式并不简单,因为 NuGet 版本不同等等...

有人可以提供一个简单的指南来实现这个目的吗? 提前感谢您的帮助!


更新问题:

我注意到使用 NuGet 版本 3.4+ 我不再需要 .nuget 文件夹!

我的 question/problem 正在通过解决方案而不是 machine/appdata 配置包源 url,这是因为我使用的是私有包源 url 包含公司图书馆的提要!谢谢:)

详情:

我注意到 包源 URL 存储在 NuGet.config 文件的 %APPDATA%\NuGet\NuGet.Config

如何通过解决方案正确配置它?所以它很容易在公司业务中维护?

(我的意思是我不需要每个用户在他们的机器上配置源)


来自 NuGet 文档:

"A solution-specific NuGet.Config file located within a .nuget folder in the solution. Settings in this file apply only to solution-wide packages and is supported only in NuGet 3.3 and earlier. It is ignored for NuGet 3.4 and later."

这是否意味着我无法为每个解决方案分别正确配置源?谢谢!

请检查项目中的 nuget 引用路径,在我的 Visual Studio 2015 Update 3 with NuGet Package Manager 3.5 中,nuget 引用是来自解决方案文件夹中的 nuget 包文件夹的引用。

将此解决方案添加到存储库时,请确保已添加整个解决方案,包括解决方案中的包文件夹。

然后另一个用户在另一台机器上得到这个解决方案后,packages文件夹也会被检出,解决方案可以直接在另一台机器上使用。

我全程没有使用APPDATA和MACHINE里面的nuget包

好的,下面是通过解决方案配置它的步骤(测试并应用于 NuGet 3.4.4):

  1. Create/Open 你的解决方案。

  2. 如果这是第一次并且您从未配置过私有 nuget 包源你应该在你的 VS2015 中进入 Tools > NuGet 包管理器 > 包管理器设置

  1. 按照我的描述填写新包源所需的信息 在下图中。

  1. 然后你的机器(AppData)NuGet配置文件将被更新 在以下位置:%APPDATA%\NuGet\NuGet.Config

  1. 您接下来要做的是将此 NuGet.Config 文件复制到您的 解决方案文件夹,如下图!

然后您会注意到包源仍然存在,即使您已将其从 AppData 文件夹中删除! (只要确保重新启动 visual studio)


注意: 如果您将 NuGet.Config 文件保留在 AppData 中,VS 本身将连接 AppData 中配置文件的内容和解决方案文件夹中的配置文件!

NOTE2: 现在你只需要 check-in 到你的 Git Repository/TFS 解决方案文件夹中指定的文件配置文件就可以了!

对于 VS2017,

  1. 创建文件夹MyLocalPackages

  2. 将NuGet包文件放入其中

  3. 创建NuGet.config sln 文件

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
        <add key="Local Packages" value=".\MyLocalPackages" />
      </packageSources>
    </configuration>
    

适用于 VS2017 15.5.5。

结果: