Eu tenho um aplicativo ASP.NET MVC5 que funcionou ontem e agora estou recebendo esse erro ao tentar criar:
Este projeto faz referência aos pacotes NuGet que estão faltando neste computador.
Eu tenho as duas opções marcadas que permitem que o nuget baixe e instale automaticamente os pacotes ausentes marcados / ativados. Eu também tentei excluir todos os arquivos na pasta packages e depois o nuget os baixou novamente. Além disso, quando abro o nuget e procuro atualizações, ele diz que não há nenhum que precise ser instalado. Não consigo imaginar o que mais fazer para ir além dessa questão incrivelmente irritante.
visual-studio-2010
visual-studio
msbuild
nuget
Austin Harris
fonte
fonte
The operation has timed out.
erro. durante a compilação. Você precisa verificar o log de compilação ou a guia Diagnóstico na tela de informações Falha na compilação do Visual Studio Online.Respostas:
No meu caso, tive que remover o seguinte do arquivo .csproj:
De fato, neste trecho você pode ver de onde vem a mensagem de erro.
Eu estava convertendo do MSBuild-Integrated Package Restore para o Automatic Package Restore ( http://docs.nuget.org/docs/workflows/migrating-to-automatic-package-restore )
fonte
Uma solução seria remover do arquivo .csproj o seguinte:
Quão?
fonte
No meu caso, aconteceu depois que mudei minha pasta de solução de um local para outro, reorganizei-a um pouco e, no processo, sua estrutura de pastas relativa foi alterada.
Então eu tive que editar todas as entradas semelhantes à seguinte no meu
.csproj
arquivo depara
(Observe a alteração de
..\packages\
parapackages\
. Pode ser uma estrutura relativa diferente no seu caso, mas você entendeu.)fonte
.csproj
parente em relação ao seu.sln
não importa neste contexto. O que importa é se alguma coisa mencionada na sua.csproj
foi movida para outro lugar. Se assim for, então você precisa corrigi-lo. Se você moveu o '.csproj' com tudo o que ele faz referência intacto, mas manteve o local.sln
onde estava, seria necessário corrigir o.sln
arquivo no novo local de.csproj
-es, mas não seria necessário editar os.csproj
arquivos.Eu resolvo esse problema facilmente, clicando com o botão direito do mouse na minha solução e, em seguida, clicando na opção Habilitar restauração do pacote NuGet
(PS: Verifique se você possui o Nuget Install From Tools -> Extensions and Update -> Nuget Package Manager para Visual Studio 2013. Se não instalar esta extensão primeiro)
Espero que ajude.
fonte
MSBuild-Integrated Package Restore
. Essa é a maneira antiga e lista algumas razões pelas quais você deve usar a nova maneira.No meu caso, tinha a ver com a versão Microsoft.Build.Bcl. Minha versão do pacote nuget era 1.0.21, mas meus arquivos de projeto ainda apontavam para a versão 1.0.14
Então mudei meus arquivos .csproj de:
para:
E a construção estava funcionando novamente.
fonte
Se você estiver usando o TFS
Remova os arquivos
NuGet.exe
eNuGet.targets
da.nuget
pasta da solução . Verifique se os arquivos também foram removidos do espaço de trabalho da solução. Mantenha oNuGet.Config
arquivo para continuar ignorando a adição de pacotes ao controle de origem.Edite cada arquivo de projeto (por exemplo, .csproj, .vbproj) na solução e remova todas as referências ao
NuGet.targets
arquivo. Abra o (s) arquivo (s) do projeto no editor de sua escolha e remova as seguintes configurações:Se você não estiver usando o TFS
Remova a
.nuget
pasta da sua solução. Verifique se a pasta em si também foi removida do espaço de trabalho da solução.Edite cada arquivo de projeto (por exemplo, .csproj, .vbproj) na solução e remova todas as referências ao
NuGet.targets
arquivo. Abra o (s) arquivo (s) do projeto no editor de sua escolha e remova as seguintes configurações:Referência: Migrando soluções integradas ao MSBuild para usar a restauração automática de pacotes
fonte
É possível que os pacotes tenham sido restaurados para a pasta errada? Verifique se os caminhos nos arquivos csproj estão corretos.
Se eles forem diferentes, isso pode ser causado pelos pacotes agora sendo restaurados em um local diferente. Isso pode ser causado pelo check-in de um arquivo NuGet.Config, especificando um nó como este:
Os pacotes estão sendo restaurados, pelos projetos ainda estão olhando para o local antigo.
fonte
Eu tive o mesmo problema. No meu caso, a instalação do pacote Microsoft.Bcl.Build corrigiu o problema.
fonte
1.0.21
versão sem arquivos no pacote, a instalação da1.0.14
versão corrigiu isso.Removido abaixo das linhas no arquivo .csproj
fonte
Uma solução seria remover do arquivo .csproj o seguinte:
Este projeto faz referência aos pacotes NuGet que estão faltando neste computador. Ative a Restauração do pacote NuGet para baixá-los. Para mais informações, consulte http://go.microsoft.com/fwlink/?LinkID=322105 . O arquivo ausente é {0}.
fonte
Estas são as etapas que eu usei para corrigir o problema:
Para adicionar pacotes nuget à sua solução:
fonte
Para mim, funcionou porque acabei de copiar uma pasta .nuget de uma solução funcional para a existente e referenciei seu conteúdo!
fonte
A primeira coisa a tentar é clicar com o botão direito do mouse na solução e selecionar "Restaurar Pacotes de Nuget".
No meu caso, como não funcionou, segui algumas recomendações sobre a exclusão de "Importar" e "Destino" no arquivo do projeto, isso funcionou para dois dos meus três projetos, mas ocorreu um erro diferente no último.
O que funcionou foi abrir o Package Manager Console e executar:
Demora algum tempo, mas como reinstalar todos os pacotes, seu projeto será compilado sem problemas
fonte
Eu tenho o mesmo problema. Encontrei-o quando copiei um projeto existente e o transferi para a pasta do diretório da minha solução e o adicionei como projeto existente à minha solução vazia. Então, eu tenho que editar meu arquivo csproj e procurar essa linha de código específica, na maioria das vezes, isso pode ser encontrado nas últimas linhas:
Depois dessa linha, tenho que comentar isso:
Sua solução solicitará que houve uma alteração no seu projeto, basta selecionar Recarregar tudo:
Então, tudo funciona bem após a reconstrução da minha solução.
fonte
Eu tive o mesmo problema ao fazer referência à biblioteca de classes no meu aplicativo da Web MVC,
o problema era a incompatibilidade do número da versão do pacote nuget entre dois projetos.
ex: minha biblioteca de classes tinha o log4net da versão 1.2.3, mas meu aplicativo da web tinha a versão 1.2.6
correção: apenas verifique se o projeto tem o mesmo número de versão referenciado.
fonte
Editar .sln e .csproj nem sempre é fácil ou desejável. Depois de obter a lista de erros, você pode ver quais projetos têm pacotes ausentes (também, o nó References geralmente indica que há assemblies ausentes, a menos que os pacotes sejam código fonte, recursos, imagens ou apenas baseados em texto).
Remover e adicionar os pacotes não é uma boa ideia, a menos que você use a versão mais recente do pacote. Caso contrário, esteja preparado para surpresas, nem sempre agradáveis.
Se, por exemplo, o pacote for EntityFramework, na galeria do NuGet, você obtém a versão mais recente que, no momento da redação deste comentário, é 6.1.3 .
Portanto, talvez a maneira mais segura de lidar com a situação seja restaurar os pacotes ausentes, um por um. Sim, um exercício um pouco doloroso, mas perseguindo erros sutis devido à versão diferente do pacote, talvez muito mais desagradável.
Dito isto, e deixe novamente EntityFramework o pacote ausente, você pode emitir o seguinte comando no Console do Gerenciador de Pacotes:
Isso instalará a versão correta, 6.0.0 , especificada em packages.config:
fonte
Eu tive isso quando os arquivos csproj e sln estavam na mesma pasta (estúpido, eu sei). Depois que mudei para o arquivo sln para a pasta acima da pasta csproj, meu
fonte
Criei uma pasta chamada '.nuget' na pasta raiz da solução. Em seguida, adicionei o arquivo 'NuGet.Config' nesta pasta com o seguinte conteúdo
Em seguida, criei o arquivo '.nuGet.targets' como abaixo de $ (MSBuildProjectDirectory) .. \
fonte