在尝试连接到Nuget时,我得到了下面的错误,然后我无法连接:
无法加载源的服务索引 https://api.nuget.org/v3/index.json。 发送请求时发生错误。 无法连接到远程服务器 连接尝试失败,原因是被连接方在一段时间后没有正确响应,或已建立连接 由于连接的主机未能响应68.232.34.200:443而失败
我可以在浏览器上访问https://api.nuget.org/v3/index.json。
在尝试连接到Nuget时,我得到了下面的错误,然后我无法连接:
无法加载源的服务索引 https://api.nuget.org/v3/index.json。 发送请求时发生错误。 无法连接到远程服务器 连接尝试失败,原因是被连接方在一段时间后没有正确响应,或已建立连接 由于连接的主机未能响应68.232.34.200:443而失败
我可以在浏览器上访问https://api.nuget.org/v3/index.json。
当前回答
我通过安装IISCrypto并在命令行上运行来修复这个问题:
IISCryptoCli.exe /template default /reboot
其他回答
新包管理器的开发人员在2019年建议禁用tls 1.3作为解决方案(见第7705期)。
通过按Win + R打开注册表编辑器,并键入regedit Enter
导航到:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client
将“DisabledByDefault key 0”的值修改为1
然后重新启动Visual Studio。
在维基百科上阅读更多关于TLS的信息 阅读更多关于问题7705 w.r.t. NuGet在github
第三方编辑
请注意,这将禁用操作系统的tls 1.3,而不仅仅是对nuget或dotnet。 Windows 10 1909版确实包含TLS 1.3的实验性实现,但后续版本应该没问题。基于无法浏览nuget包的一个答案,您可以通过控制台程序测试tls是否存在问题
static async Task Main(string[] args)
{
var client = new HttpClient();
string uri = "https://apiint.nugettest.org/v3-index/index.json";
var response = await client.GetAsync(uri);
string msg = "If you see this, your machine has no TLS/SSL issues with nuget.org";
Console.WriteLine(msg);
}
也许这有帮助
对我来说,删除位于C:\Users\YourNameHere的.nuget文件夹解决了这个问题。
我花了一天的时间,试遍了这里的一切。 对我来说,我没有在Visual Studio中更新我的密码!
I had changed my work Microsoft account password last week or so, I also use that account to login to visual studio, however I wasn't prompted to update it and was not logged out of Visual Studio, it remained logged in. When I clicked on my initials in the top right of visual studio > Account settings > under All Accounts the work account had yellow exclamation triangle warning sign next to it, updated the new password, then updated some packages, dotnet restore, cleaned & rebuilt and the errors are gone.
转到%appdata%\NuGet\NuGet.config 修改这一行: < packageSources > <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft sdk \NuGetPackages\" /> . <add key="Package source" value="https://api.nuget.org/v3/index.json" /> . < / packageSources >
我有一个类似的问题,试图连接到我的私人TFS服务器,而不是公共NuGet API服务器。由于某种原因,我在AD服务器和TFS服务器之间出现了问题,因此它总是返回401。NuGet配置文章展示了你可以像这样将你的AD用户名和密码添加到配置文件中:
<packageSourceCredentials>
<vstsfeed>
<add key="Username" value="yourname@company.com" />
<add key="Password" value="this is an encrypted password" >
<!-- add key="ClearTextPassword" value="not recommended password" -->
</vstsfeed>
</packageSourceCredentials>
这不是一个非常理想的解决方案,更像是一个临时的解决方案,直到我可以找出AD服务器的问题,但这应该可以解决问题。