解决方案 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):
Create/Open 你的解决方案。
如果这是第一次并且您从未配置过私有 nuget
包源你应该在你的 VS2015 中进入 Tools > NuGet
包管理器 > 包管理器设置
- 按照我的描述填写新包源所需的信息
在下图中。
- 然后你的机器(AppData)NuGet配置文件将被更新
在以下位置:%APPDATA%\NuGet\NuGet.Config
- 您接下来要做的是将此 NuGet.Config 文件复制到您的
解决方案文件夹,如下图!
然后您会注意到包源仍然存在,即使您已将其从 AppData 文件夹中删除! (只要确保重新启动 visual studio)
注意: 如果您将 NuGet.Config 文件保留在 AppData 中,VS 本身将连接 AppData 中配置文件的内容和解决方案文件夹中的配置文件!
NOTE2: 现在你只需要 check-in 到你的 Git Repository/TFS 解决方案文件夹中指定的文件配置文件就可以了!
对于 VS2017,
创建文件夹MyLocalPackages
将NuGet包文件放入其中
创建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。
结果:
好吧,这听起来可能是一个重复的问题,但就我的搜索而言,事实并非如此。
我一直在寻找一种正确的方法来在我的解决方案中配置特定的 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):
Create/Open 你的解决方案。
如果这是第一次并且您从未配置过私有 nuget 包源你应该在你的 VS2015 中进入 Tools > NuGet 包管理器 > 包管理器设置
- 按照我的描述填写新包源所需的信息 在下图中。
- 然后你的机器(AppData)NuGet配置文件将被更新 在以下位置:%APPDATA%\NuGet\NuGet.Config
- 您接下来要做的是将此 NuGet.Config 文件复制到您的 解决方案文件夹,如下图!
然后您会注意到包源仍然存在,即使您已将其从 AppData 文件夹中删除! (只要确保重新启动 visual studio)
注意: 如果您将 NuGet.Config 文件保留在 AppData 中,VS 本身将连接 AppData 中配置文件的内容和解决方案文件夹中的配置文件!
NOTE2: 现在你只需要 check-in 到你的 Git Repository/TFS 解决方案文件夹中指定的文件配置文件就可以了!
对于 VS2017,
创建文件夹
MyLocalPackages
将NuGet包文件放入其中
创建
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。
结果: