Origem inacessível ao usar o Console do NuGet Package Manager


153

Estamos mudando nosso gerenciamento de pacotes da atualização manual de arquivos para o NuGet. Estou tentando instalar versões mais antigas de pacotes para coincidir com a que já temos no controle de origem. Não há como fazer isso na interface do usuário, então eu uso a linha de comando para obter a versão correta.

Por alguma razão, Install-Packagecontinua me dizendo que a galeria de pepitas é inacessível.

A fonte em nuget.org [ https://www.nuget.org/api/v2/] é inacessível. Voltando ao NuGet Local Cache

Isso acontece apenas em uma de nossas soluções. Se eu criar uma nova solução ou usar outra no mesmo repositório, os pacotes serão instalados conforme o esperado. Posso até instalar os pacotes em uma solução fictícia para preencher o cache local e depois instalá-los com êxito na solução com defeito. Eu tentei Invoke-WebRequestno URL do NuGet Console e recebo um HTTP 200.

O que pode causar isso? Existe uma maneira de substituir as fontes de pacote por solução / projeto?


3
Estou tendo esse mesmo problema. Eu instalei o VS 2013 Update 2 ontem, talvez este seja um novo bug ...? Aliás, eu posso instalar qualquer pacote através da caixa de diálogo "Gerenciar pacotes NuGet" sem problemas, esse problema ocorre apenas no console do gerenciador de pacotes.
rsenna

2
Eu tenho o mesmo problema. Sempre funciona na caixa de diálogo Gerenciar pacotes - nunca funciona no console do gerenciador de pacotes.
precisa

10
Reiniciar Visual Studio fixo isso para mim ಠ_ಠ
Chris Marisic

Respostas:


338

Embora minha origem do pacote tenha sido definida como nuget.org no Package Manager Console, a adição explícita do -Source nuget.orgargumento o corrigiu.

Portanto, um exemplo de uso seria:

Install-Package Akka.net -Source nuget.org

Sendo o Akka.net o seu pacote que você deseja instalar, é apenas um exemplo aqui.


1
Eu reiniciei meu PC e o Visual Studio. mas .. acrescentando -Source nuget.org de fato fez o truque para minha nova instância .vbproj dentro da minha .sln multi-projeto existente
bkwdesign

Onde adicionar esse argumento e como? Você pode dar mais informações?
Radenko Zec

Também funcionou para mim (agora, na verdade!). Eu estava tentando instalar uma versão mais antiga do jQuery, mas continuava gerando o erro: "A fonte em nuget.org [ nuget.org/api/v2/] ". Eu não sei como consertar isso embora.
Loudenvier

obrigado, eu fiz assim:Install-Package jQuery.UI.Combined -Source nuget.org
shaijut

7
Você tem alguma idéia de como isso funciona? Estou curioso, pois isso não faz sentido para mim, mesmo que funcione. Então, o erro diz: A fonte em nuget.org [ nuget.org/api/v2/] está inacessível e, em seguida, eu especifico a mesma fonte -Source nuget.orge funciona?
Vladimirs


6

Não sei ao certo o que pode causar seu problema, mas há realmente uma maneira de substituir as fontes de pacotes por solução, mas apenas se você tiver ativado o NuGet Package Restore na solução fornecida.

Depois que uma solução habilita o NuGet Package Restore, uma pasta chamada ".nuget" é adicionada à solução. Abaixo disso, haverá um arquivo chamado "NuGet.targets" que possui um ItemGroup cuja Condição é "'$ (PackageSources)' == ''" como a que você verá na imagem anexada.

Se o ItemGroup estiver vazio (ou completamente comentado, como na ilustração), a solução usará um arquivo específico que deve ser o mesmo que as fontes listadas em TOOLS >> OPTIONS. Mas se você descomentar ou adicionar itens PackageSource a esse ItemGroup, a solução pesquisará as fontes de pacotes listadas e APENAS as listadas.

Conteúdo do arquivo Nuget.targets


2
As fontes de pacote definidas no arquivo NuGet.targets afetam apenas aquelas usadas durante a compilação quando um pacote está sendo restaurado. As fontes de pacote no arquivo NuGet.config no diretório .nuget afetarão as fontes de pacote disponíveis para um projeto no Visual Studio.
Matt Ward

Eu tenho a restauração de pacotes ativada para esta solução. O ItemGroup está configurado da mesma forma que na sua captura de tela, que eu assumo ser a configuração padrão, então não acho que esse seja o problema. No entanto, a restauração de pacotes foi ativada há muito tempo e o arquivo de destino foi alterado desde então. Tentei atualizar esses arquivos para a versão mais recente, excluindo-os e reativando a restauração de pacotes, e parece que isso resolveu o problema.
Etienne Maheu

Ou não. Funcionou no começo, mas depois de restaurar os pacotes da solução e reiniciar o visual studio, o problema voltou.
Etienne Maheu

Algumas perguntas esclarecedoras: 1) Você tem as versões apropriadas referenciadas em packages.config? 2) Você confirmou que a versão que você procura ainda existe no servidor NuGet ? 3) Você limpou a solução e a reconstruiu depois de concluir 1) e 2)?
Omnidisciplinarianist

1
Se houver algum consolo - eu recebo esse problema, mas apenas no meu PC de trabalho e isso acontece com a maioria dos projetos. O estranho é que é intermitente o que me deixa louco!
Matt

6

Você também pode alterar a fonte do NuGet a partir da interface do usuário. Basta alterar a fonte do NuGet para uma versão mais antiga e ela deve funcionar bem.

insira a descrição da imagem aqui

Parece haver ainda alguns bugs no VS 2015 relacionados ao api.nuget.org (v3).


2

No meu Console do Gerenciador de Pacotes, não consegui ver nenhuma fonte

Indo para: Ferramentas -> Opções -> Nuget Package Manager -> Fontes de Pacotes

Eu encontrei as fontes. Desmarcá-los e devolvê-los fez com que reaparecesse no meu Console do Gerenciador de Pacotes


2

Eu tive que fornecer o comman junto com o URL completo como Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2


1

No meu caso, a causa foi que o pacote tinha um acordo. Na interface do usuário - "Gerenciar pacotes NuGet", você tem a opção de aceitar e continuar.

O Console do Gerenciador de Pacotes no VS 2013 parece ter um problema com isso. Como já foi dito, reiniciar o VS 2013 pode resolvê-lo para o console.


1

Isso funcionou para mim no VS 2015 prof: Ferramentas -> Opções -> Nuget Package Manager -> Origens do pacote

  1. Pressione o botão Adicionar
  2. Editar no rótulo do nome: nuget.org
  3. Editar no rótulo da fonte: https://www.nuget.org/api/v2/
  4. pressione OK

Espero que ajude ;)


Para o VS 2015, você deve usar a v3 da lista ... não a v2! Extraído da página inicial do NuGet feed v3 (VS 2015 / NuGet v3.x): api.nuget.org/v3/index.json NuGet feed v2 (VS 2013 e versões anteriores / NuGet 2.x): nuget.org/api/v2
Paul Zahra

0

Eu tive o mesmo problema com a mesma mensagem. Mas a razão do meu problema foi a conexão perdida com o TFS. Meu servidor TFS estava hospedado em outra rede e usei VPN para acesso a ele. Quando tentei instalar o pacote sem conexão estabelecida com o TFS (a VPN estava desativada), tive o mesmo problema.

Esteja ciente desse comportamento do TFS.


0

Acontece porque você trabalha no modo offline. Quando você reconecta a rede, é necessário fazer logoff e logon novamente. O gerenciador de pacotes será reinicializado sem problemas.


0

Eu enfrentei esse problema VS2013 e perdi 3 horas de tempo.

Não tenho certeza qual foi a causa do problema. Mas nenhuma das soluções acima funcionou para mim.

A reinstalação do console do Nuget Package Manager funcionou para mim.

Ferramentas -> Extensões e atualizações -> Em tudo, procure o Nuget Package Manager para Visual Studio e clique em desinstalar.

Acesse https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 e faça o download da extensão.


0

digite a descrição da imagem aqui Pode ser o seu escritório / firewall doméstico bloqueando o nuget.org, tente conectar uma rede de Internet diferente, por exemplo, a partir do seu celular ou wifi. Consegui resolver através deste método.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.