Compartilhar via


Erro do NuGet NU1302

Cenário 1

Você está executando a operação de 'restauração' com uma origem 'HTTP': myHttpSource. O NuGet requer fontes HTTPS. Para usar uma origem 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 usar uma fonte HTTPS.

Solution

Opção 1: atualizar a origem para usar HTTPS

Se possível, atualize a origem do pacote para usar 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 precisar 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 alternativa temporária para gerenciar fontes HTTP. Se for necessário tempo adicional para resolver o erro HTTP, você poderá reduzir o SdkAnalysisLevel para suprimir erros temporariamente. Veja como funciona:

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

Warning

A alteração de SdkAnalysisLevel tem outros efeitos colaterais. Consulte o SdkAnalysisLevel resumo do escopo completo dos recursos do SDK do .NET afetados.

Cenário 2

Você está usando uma origem do 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 obter 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 origem apesar do recurso HTTP, deverá definir o allowInsecureConnections sinalizador como true em seu arquivo NuGet.config.

Para saber mais sobre fontes de pacote e pontos de extremidade de recurso, dê uma olhada na API do Servidor NuGet.

Opção 1: atualizar a origem para usar HTTPS

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

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

Se você precisar usar a origem, 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>