阻止 VisualStudio 使用特定的 NuGet 包源
Stop VisualStudio from using a particular NuGet package source
我的工作场所有一个 NuGet 服务器,当我在家工作时,我已经在我的个人电脑上配置了它。只有当我通过 VPN 连接到我的工作场所时才能访问它。
当我在处理个人项目时,我不想总是先建立 VPN 连接,因为我不需要 NuGet 服务器工作。
然而,当我不这样做时,VisualStudio/NuGet 包管理器将总是尝试联系它来搜索包或解决依赖关系,即使我明确地从UI下拉菜单中选择包源。当我尝试安装一个选择了特定源的包时,这也会出现超时相关错误。
就目前情况而言,我要么必须通过 VPN 连接,要么取消选中包源——这是一个全局设置。有没有办法告诉 NuGet 只使用特定的包源或将源 on/off 用于特定的解决方案?
针对我的特定用例的解决方案:
在 @jessehouwing 向我指出 NuGet 文档后,我最终将一个 NuGet.Config
文件放在存储我所有与工作相关的解决方案的顶级存储库文件夹中。
文件所做的只是添加一个 packageSource
,所有其他设置都取自全局设置文件(VisualStudio 使用的是 %appdata%/NuGet
),我从中删除了工作特定的包源所以它不会在个人项目中打扰我。
万一有人需要:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="Work" value="http://path/to/your/source" />
</packageSources>
</configuration>
您可以在解决方案文件夹中粘贴一个nuget.config
:
Project-specific NuGet.Config files located in any folder from the solution folder up to the drive root. These allow control over settings as they apply to a project or a group of projects.
然后将正确的存储库位置放在那里。
我的工作场所有一个 NuGet 服务器,当我在家工作时,我已经在我的个人电脑上配置了它。只有当我通过 VPN 连接到我的工作场所时才能访问它。
当我在处理个人项目时,我不想总是先建立 VPN 连接,因为我不需要 NuGet 服务器工作。
然而,当我不这样做时,VisualStudio/NuGet 包管理器将总是尝试联系它来搜索包或解决依赖关系,即使我明确地从UI下拉菜单中选择包源。当我尝试安装一个选择了特定源的包时,这也会出现超时相关错误。
就目前情况而言,我要么必须通过 VPN 连接,要么取消选中包源——这是一个全局设置。有没有办法告诉 NuGet 只使用特定的包源或将源 on/off 用于特定的解决方案?
针对我的特定用例的解决方案:
在 @jessehouwing 向我指出 NuGet 文档后,我最终将一个 NuGet.Config
文件放在存储我所有与工作相关的解决方案的顶级存储库文件夹中。
文件所做的只是添加一个 packageSource
,所有其他设置都取自全局设置文件(VisualStudio 使用的是 %appdata%/NuGet
),我从中删除了工作特定的包源所以它不会在个人项目中打扰我。
万一有人需要:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="Work" value="http://path/to/your/source" />
</packageSources>
</configuration>
您可以在解决方案文件夹中粘贴一个nuget.config
:
Project-specific NuGet.Config files located in any folder from the solution folder up to the drive root. These allow control over settings as they apply to a project or a group of projects.
然后将正确的存储库位置放在那里。