DotNet Nuget Linux:无法加载服务索引



每当我尝试运行"dotnet run"(在RHEL 7上(时,我都会收到以下错误:(我xxx'有一些零件我不能展示(

/usr/share/dotnet/sdk/3.1.407/NuGet.targets(128,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [xxx.csproj]
/usr/share/dotnet/sdk/3.1.407/NuGet.targets(128,5): error :   Connection refused [xxx.csproj]
The build failed. Fix the build errors and run again.

我在一个代理后面,并且已经在nuget配置中设置了它。我还有两个包源,它们都需要访问代理。这是配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<config>
<add key="http_proxy" value="http://xxx:xxx" />
</config>
<packageSources>
<add key="xxx" value="https://xxx/v3/index.json"/>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>

我还可以通过检查注册的包源来验证配置是否已应用(至少以某种方式(:

> dotnet nuget list source
Registered Sources:
1.  nuget.org [Enabled]
https://api.nuget.org/v3/index.json
2.  xxx [Enabled]
https://xxx/v3/index.json

这不应该是代理问题,因为curl有效:

> curl -x http://xxx:xxx -I https://api.nuget.org/v3/index.json
HTTP/1.1 200 Connection established
HTTP/1.1 200 OK
...
> curl -x http://xxx:xxx -I https://xxx/v3/index.json
HTTP/1.1 200 Connection established
HTTP/1.1 200 OK
...

我错过了什么?

所以,问题是nuget配置中的代理被完全忽略了(我不知道为什么(。本地配置(在项目文件夹中(也没有帮助。

这就是解决我的问题的原因:

我添加了http_proxyhttps_proxy环境变量,并清理了所有剩余的缓存文件。我还将DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0添加到环境中,但我不能100%确定这是否有必要。

最新更新