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?

Etienne Maheu
fonte
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.

fita adesiva
fonte
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
10

Eu tive que copiar a fonte NuGet padrão nas opções do Visual Studio. Com a fonte copiada, mudei o URL de httpspara http. Isso resolveu o problema para mim.

O crédito para esta sugestão pertence aqui: https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351 , para "jpharris4".

Zarepheth
fonte
Esse é um ponto muito bom. O NuGet pode ser sensível à validação de certificado.
Etienne Maheu 24/03
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

Omnidisciplinarianist
fonte
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).

Sameer Azazi
fonte
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

user2083640
fonte
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

gavinfonseca
fonte
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.

Byron
fonte
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 ;)

praguan
fonte
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.

RredCat
fonte
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.

Rakesh Pahuja
fonte
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.

Syed Abbas
fonte
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.

user1687805
fonte