Partilhar via


Erro NuGet NU1302

Cenário 1

Você está executando a operação de 'restauração' com uma fonte 'HTTP': myHttpSource. O NuGet requer fontes HTTPS. Para usar uma fonte HTTP, você deve definir explicitamente 'allowInsecureConnections' como true no arquivo NuGet.Config. Consulte https://aka.ms/nuget-https-everywhere para obter mais informações.

Issue

myHttpSource é uma fonte HTTP insegura. Em vez disso, recomendamos o uso de uma fonte HTTPS.

Solution

Opção 1: Atualizar a fonte para usar HTTPS

Se possível, atualize a fonte do pacote para usáhttps:// em vez de http://:

<configuration>
  <packageSources>
    <add key="SecureSource" value="https://example.com/nuget/" />
  </packageSources>
</configuration>

Opção 2: Permitir conexões inseguras (se necessário)

Se a origem deve permanecer HTTP, permita explicitamente conexões inseguras adicionando o sinalizador AllowInsecureConnections no NuGet.Config:

<configuration>
  <packageSources>
    <add key="InsecureSource" value="http://example.com/nuget/" allowInsecureConnections="true" />
  </packageSources>
</configuration>

Opção 3: Consultar o nível de análise do SDK

A propriedade SdkAnalysisLevel em seu projeto pode servir como uma solução temporária para gerenciar fontes HTTP. Se for necessário tempo adicional para resolver o erro HTTP, você pode reduzir a SdkAnalysisLevel para suprimir erros temporariamente. Veja como funciona:

  • Para o valor de Nível de Análise do SDK abaixo de 9.0.100, o uso de fontes HTTP dispara um aviso (NU1803).
  • A partir do SDK Analysis Level 9.0.100 ou superior, as fontes HTTP resultam em um erro (NU1302), a menos que AllowInsecureConnections esteja explicitamente habilitado.

Warning

Alterar SdkAnalysisLevel tem outros efeitos colaterais. Consulte o SdkAnalysisLevel para obter um resumo do escopo completo dos recursos do SDK do .NET afetados.

Cenário 2

Você está usando uma fonte NuGet 'https://contoso/v3/index.json' que contém um ponto de extremidade de recurso de índice de serviço 'HTTP': 'http://contoso/v3-flatcontainer/contoso/index.json'. Isso é inseguro e não recomendado. Para permitir recursos HTTP, você deve definir explicitamente 'allowInsecureConnections' como true no arquivo NuGet.Config. Para mais informações, visite https://aka.ms/nuget-https-everywhere.

Issue

Uma fonte de pacote configurada usa HTTPS, mas um de seus recursos (indicado na mensagem de erro) usa HTTP.

O NuGet requer que todas as fontes e seus recursos usem HTTPS. Se você quiser continuar usando essa fonte apesar de seu recurso HTTP, você deve definir o sinalizador allowInsecureConnections como true em seu arquivo NuGet.config.

Para saber mais sobre fontes de pacotes e pontos de extremidade de recursos, consulte a API do NuGet Server.

Opção 1: Atualizar a fonte para usar HTTPS

Sempre que possível, mude para uma fonte de pacote que forneça apenas recursos HTTPS. Esta é a opção recomendada e mais segura.

Opção 2: Permitir conexões inseguras (se necessário)

Se você precisar usar a fonte, permita explicitamente conexões inseguras adicionando o allowInsecureConnections sinalizador no NuGet.Config:

Para obter informações sobre como gerenciar a configuração no Visual Studio, consulte Opções do NuGet no Visual Studio

<configuration>
  <packageSources>
    <add key="InsecureSource" value="https://contoso/v3/index.json" allowInsecureConnections="true" />
  </packageSources>
</configuration>