这是我的NuGet.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
<disabledPackageSources>
<add key="Microsoft and .NET" value="true" />
</disabledPackageSources>
</configuration>
现在,在Visual Studio中,当我尝试安装'geckofx45'软件包时,出现以下错误:
install-package geckofx45 install-package:无法加载源https://api.nuget.org/v3/index.json的服务索引。 在行:1个字符:1 + install-package geckofx45 + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [Install-Package],Exception + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
你有解决方案吗?
提前谢谢
答案 0 :(得分:2)
Visual Studio - Nuget - 无法加载源
的服务索引
这是一个常见错误,我们无法从此错误消息中获取更多有用信息。我们只能为此问题提供疑难解答。
在大多数情况下出现此问题的原因是因为网络问题或nuget.config
中的配置不正确。
为了确保此问题是否与VS IDE,网络或其他问题相关,请首先在浏览器中打开nuget服务器https://api.nuget.org/v3/index.json
的路径。如果您可以在浏览器中打开它,则此问题可能与VS IDE / nuget.config更相关。您可以删除nuget.config
中的%appdata%\Nuget
,然后重新启动Visual Studio以生成新的nuget.config
。
其次,如果您也无法在浏览器中打开它,这个问题可能与网络问题有关,您应该检查我们的系统变量或IE浏览器中是否有代理变量http_proxy
,我们可以在具有相同网络的另一台PC上测试它。如果您的PC中有代理设置,则可以将其删除以进行测试,也可以将代理设置添加到Nuget.Config文件中。有关详细信息,请参阅此链接:Nuget Config Section&amp; Nuget Proxy Settings。在我们确认我们的PC中没有任何代理后,我们应该检查我们的网络是否有限。我们可以用不同的网络工作来测试它。
有关详细信息,请参阅the same issue。
答案 1 :(得分:0)
nuget restore
和
msbuild /t:restore
两者都不适合我。但是
dotnet restore
做得完美。试试吧
答案 2 :(得分:0)
在 Windows 7 上测试
步骤 1:打开命令窗口(运行 cmd)步骤 2:运行以下命令以启用 TLS 1.2 支持(如果它被禁用(添加 REGISTRY 条目):
"HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:32 reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders \SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:64 reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v 启用/t REG_DWORD /d 1 /f /reg:32 reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v 启用 /t REG_DWORD /d 1 /f /reg:64< /p>