在 Visual Studio 2017 中进行开发时,我结合使用了标准 NuGet 包源和我工作的公司的包源。
要访问这些公司包源,我必须连接到我们公司的 VPN。
不幸的是,这意味着无论我正在开发什么,我都必须始终连接到我们公司的 VPN,因为否则 NuGet 会给我这个:
尝试添加源“ http://[我公司的包源之一]”时抛出异常“System.AggregateException”。请验证您的所有在线包来源是否可用。发生一个或多个错误。无法加载源http://[我公司的包源之一] 的服务索引。发送请求时发生错误。无法解析远程名称:“[我公司的包源之一]”
如果我尝试使用仅托管在我公司服务器上的包,这将是有意义的。但即使我专门将包源下拉列表设置为 nuget.org,我也会收到此错误。
有一个问题需要修复,但它已有两年历史并且没有任何活动迹象: 当 nuget 源不可用时,即使这不是选定的源,安装也会失败 #2614
那么,有没有办法以某种方式配置 NuGet 以忽略丢失的包源?
以下是如何配置 NuGet 以忽略某些源。
如果您将所有非公司代码都放在一个文件夹结构中,那么您可以在根目录中放置一个nuget.config如下所示的文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<disabledPackageSources>
<add key="My Company's NuGet Source" value="true" />
</disabledPackageSources>
</configuration>
Run Code Online (Sandbox Code Playgroud)
如果您不确定该键应该是什么,请nuget sources从命令行运行:
>nuget sources
Registered Sources:
1. nuget.org [Enabled]
https://api.nuget.org/v3/index.json
2. My Company's NuGet Source [Disabled]
https://path/to/the/nuget
3. Microsoft Visual Studio Offline Packages [Enabled]
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
Run Code Online (Sandbox Code Playgroud)
这也是验证是否nuget.config被检测到的好方法。这Disabled是来自我的nuget.config档案;nuget sources如果我在公司代码文件夹中运行,数字 2 显示为Enabled.
您可以在此处找到有关结构的完整详细信息nuget.config:
| 归档时间: |
|
| 查看次数: |
2760 次 |
| 最近记录: |