Falha na restauração do pacote NuGet para arquivos diversos do projeto: o valor não pode ser nulo ou uma string vazia. Nome do parâmetro: raiz. 0 0

89

Eu tenho esse erro no vs 2012: Falha na restauração do pacote NuGet para o projeto Arquivos diversos: o valor não pode ser nulo ou uma string vazia. Nome do parâmetro: raiz. 0 0

Vejo que é um bug https://nuget.codeplex.com/workitem/3780 que foi corrigido para a versão 2.8 Mas não consigo encontrar a versão 2.8 em https://nuget.codeplex.com É possível corrigir o erro sem a instalação da versão 2.8? Ou como obter o 2.8?

Convidado da meia-noite
fonte
1
Não tenho certeza dos detalhes, mas isso também pode acontecer se você tentar usar um nome de arquivo de saída usando macros, como $ (SolutionDir) $ (Configuration) \ MyInstaller.msi Encontrei este problema ao tentar construir um VS O instalador e eu presumimos que poderia usar macros no nome do arquivo de saída.
ryancwarren de
Meu colega de trabalho conseguiu isso com o VS 2013 (simples, sem atualização 1 ou atualização 2) e ele usa o NuGet 2.7.x. Ele vai atualizar agora.
Csaba Toth

Respostas:

153

Corrigi isso excluindo o arquivo de opções do usuário da solução do Visual Studio (.suo) e reiniciando o VS.

ATUALIZAÇÃO: Para o VS 2017, você precisa excluir uma pasta oculta chamada .vs localizada no diretório da solução (Obrigado @Tien Dinh!)

st78
fonte
Eu tinha dois arquivos suo: <solutionName> .suo e <solutionName> .v11.suo Estou usando o VS2012 Professional Update 3 e a exclusão de ambos funcionou para mim. Agora tenho apenas o arquivo <solutionName> .v11.suo presente.
Fellmeister
2
para VS2017 basta excluir uma pasta oculta chamada .vs
Tien Dinh
1
A pasta oculta .vs está localizada no diretório da solução.
JDawg de
Também trabalhei no Visual Studio 2017 Community Edition. Obrigado (y)
Najeeb,
27

Tive o mesmo problema com o VS2013 hoje. Depois de executar uma atualização nos pacotes instalados (ferramentas -> extensões e atualizações) (que incluía o nuget) e instalar algumas atualizações para o VS2013 (algumas atualizações do Windows), ela foi embora.

Então, basicamente, verifique essas atualizações, atualize e isso pode resolver o problema.

Noctis
fonte
15

Tenho o VS 2013. De acordo com o gerenciador de extensões, o nuget estava atualizado.

Executou uma instalação manual no site vsix: http://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

... corrigiu o problema.

InquisitorJax
fonte
Isso resolveu o problema para mim. Eu só encontrei o problema ao compilar no Release.
ctorx
Este problema apareceu do nada, literalmente do inexistente para obter as últimas soluções e boom. O mesmo problema aqui que o gerenciador de extensões está borked e disse que estava atualizado quando não estava. Eu amo a Microsoft, mas eu realmente não entendo como eles são tão ruins na instalação de software.
Chris Marisic
11

Uma simples reinicialização do Visual Studio deve limpar tudo. Tive o mesmo problema no VS2013 após atualizar a API da Web. Não foi necessário deletar o .suo.

Eric
fonte
4

Corrigi isso habilitando a restauração automática em pacotes nuget na solução

Smitha Poluri
fonte
3

Não é uma resposta exata, mas o melhor que posso dizer, NuGet ver. 2.8 ainda não está disponível. Tenho lidado com o mesmo problema há algum tempo (2 meses). Ainda fui capaz de construir minha solução com sucesso, mesmo com aquele erro, executando a construção contra o projeto principal. Eu realmente espero ter esse problema resolvido porque é uma coisa desagradável durante o trabalho.

user2476190
fonte
3

Você pode obter uma versão sem lançamento do NuGet 2.8 aqui . As instruções estão aqui: Instalando um build CI . Isso corrige o problema para mim no VS2010.

Dan Cooper
fonte
2

Corrigi esse problema depois de clicar em "Limpar todos os cache (s) do Nuget"

Ferramentas Nuget -> Limpar todo o cache

Glenox Andal
fonte
1

Apenas como uma breve nota. Recebi este erro executando o projeto em uma unidade de rede mapeada, ou sejaT:\NetworkFolder\Project\Solution.sln .

Obviamente, a solução é simples - não faça isso - copie-o em sua máquina. Pode poupar sofrimento a alguém em algum momento.

Balde de caranguejo
fonte
1

Nenhuma das respostas acima ajudou para mim e estava ficando muito frustrante.

O que funcionou para mim (com o Visual Studio Professional 2017, versão 15.8.5) foi seguir as etapas a seguir;

1) Ferramentas> Opções> Gerenciador de pacotes NuGet> Clique em 'Limpar todos os cache (s) NuGet'

Espero que isso ajude alguém!

IfElseExperimenteCatch
fonte
0

Não funcionou para mim. Eu tive que ir para ferramentas, gerenciador de extensão ... Desinstalar NuGet Reinicie o Visual Studio 2010 Baixe NuGet Reinstale-o. Reinicie o Visual Studio. Corrigido tudo!

user2343577
fonte
0

Vamos verificar o nome dos pacotes no arquivo packages.config. Às vezes, o nome incorreto ocorre

Tailmse02457
fonte
0

Recebi este erro ao renomear acidentalmente um dos atributos de id de namespace dentro do arquivo packages.config para outro nome. Consegui rastrear isso comparando a versão verificada de packages.config com a minha versão local. Depois de corrigir o problema, tudo o que tive que fazer foi fechar o arquivo packages.config, reconstruir e o problema desaparecera.

Eterno 21
fonte
0

No Visual Studio 2015:

Vá para Opções-> Gerenciador de Pacotes NuGet-> Fontes de Pacotes, certifique-se de que "Microsoft e .Net" estejam marcados na lista de pacotes em toda a máquina.

David J
fonte
0

Desinstalei e reinstalei o nUnit 3.7.1 e tudo voltou a funcionar. Eu tenho alguns pacotes nuget, mas o nunit 3.7.1 é o único que eu reinstalei, deixei o resto sozinho.

BClaydon
fonte