Eu procurei esse problema, mas nenhuma das soluções funcionou. Eu tenho o Visual Studio Professional 2015 instalado e estou usando o TFS. Minha versão do NuGet é 3.1.6. Esse problema está acontecendo apenas no meu projeto de API / MVC da Web C #.
Estou recebendo o erro abaixo:
Este projeto faz referência aos pacotes NuGet que estão faltando neste computador. Use o NuGet Package Restore para baixá-los. Para mais informações, consulte http://go.microsoft.com/fwlink/?LinkID=322105 . O arquivo ausente é .. \ packages \ Microsoft.Net.Compilers.1.0.0 \ build \ Microsoft.Net.Compilers.props
- Não tenho a pasta .nuget em minhas soluções.
- Eu tenho uma pasta de pacotes na solução e, quando a apago, parece que o NuGet reconstrói as dependências, mas o projeto ainda tem o erro acima.
- Tentei remover o projeto do TFS e ele não o corrigiu.
- Juntamente com o erro acima, todas as referências no projeto têm sinais de aviso amarelos e dizem que estão ausentes.
- Quando verifiquei o NuGet Package Manager para o projeto, tudo o que está "ausente" tem uma marca verde ao lado, incluindo o Microsoft.Net.Compilers.
- Tentei adicionar um novo projeto de API / MVC da Web e ele enfrentou um problema semelhante, onde a maioria das referências como Owin estava "ausente" com o sinal de aviso amarelo.
visual-studio
nuget
visual-studio-2015
Ques Tion
fonte
fonte
Respostas:
Eu tive o mesmo erro (faltando exatamente o mesmo pacote) hoje. Também criei um projeto MVC + Web API.
Aconteceu porque mudei os arquivos do aplicativo (incluindo o arquivo .csproj) para outro local. Atualizei manualmente o arquivo .sln, mas agora todas as dependências de pacotes (Visual Studio 2015) estão armazenadas no arquivo .csproj.
A edição do arquivo .csproj e a correção do caminho relativo para a pasta da solução (que contém a pasta packages) resolveram o problema para mim.
fonte
Resolvi meu problema removendo este código do
.csproj
arquivo:fonte
CUIDADO - isso atualiza os pacotes de toda a solução, não apenas do projeto.
Se você tiver mais um pacote de nuget ausente que deu seu erro ao criar sua solução, use o seguinte comando usando o Nuget Command Console em Ferramentas> Nuget Package Manager> Package Manager Console. Ele reinstalará todos os pacotes atuais.
Atualizar:
Você pode passar o nome específico do projeto como um parâmetro.
fonte
Eu tinha essa mensagem exatamente frustrante. O que finalmente funcionou para mim foi excluir todos os arquivos e pastas dentro de / packages e deixar o VS buscar novamente tudo na próxima compilação.
fonte
Restore Nuget Packages
.Tiberiu está correto. Eu tive que editar meu arquivo .csproj quando os arquivos foram movidos e causaram esse problema
Eu mudei na parte superior do arquivo e na parte inferior
fonte
desta maneira, resolvi meu erro: Para abrir o arquivo .csproj para atualização no Visual Studio 2015+ Solution Explorer:
Clique com o botão direito do mouse no nome do projeto -> Descarregar projeto
Clique com o botão direito do mouse no nome do projeto -> Editar .csproj
Remova as seguintes linhas:
Clique com o botão direito do mouse no nome do projeto -> Recarregar Projeto
Finalmente, crie sua solução.
fonte
Resolvi esse problema removendo o seguinte código do arquivo .csproj
fonte
Uma combinação das 2 respostas funcionou para mim. Primeiro, modifiquei o arquivo .csproj para remover a referência à versão 1.0.0
e depois
do e funcionou.
fonte
Para mim, o problema era que, quando copiei a solução para uma nova pasta e a abri, estava faltando a pasta Nuget, como mostrado abaixo. Copiei esta pasta e tudo funcionou. Nota: Essa mesma pasta estava em nosso controle de origem, mas não neste projeto de soluções, era um diretório.
fonte
Basta ativar a Restauração do pacote NuGet. Clique com o botão direito do mouse na sua solução> escolha 'Ativar restauração do pacote NuGet'.
Isso criará a pasta .nuget com o arquivo NuGet.Config e corrigiu o meu problema.
fonte
Estou usando o VS2012 e enfrentando o mesmo erro. Eu removi a seguinte marca Target do arquivo .csproj e ela começou a compilar sem nenhum erro.
fonte
Para expandir algumas das respostas aqui, sim, você pode remover o seguinte bloco do seu arquivo .csproj:
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
e isso corrige o problema, no entanto, no meu caso, notei que tinha referências adicionais aos .NET.Compilers e .CodeDom.Providers com versões diferentes:
Quando meu packages.config referenciou apenas o seguinte:
A remoção dos itens 1.0.0 do arquivo .csproj corrigiu o problema.
fonte
Para quem tropeça aqui com o problema que tive (alguns, mas nem todos os pacotes foram restaurados em um servidor de compilação), a peça final do quebra-cabeça para mim foi adicionar um NuGet.config na raiz da minha solução, irmão do .SLN arquivo como David Ebbo explicou aqui: http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html .
No post do Ebbo, o conteúdo do arquivo para mim é simplesmente
ATUALIZAR:
O URL da API do NuGet foi alterado para v3 (atual em setembro de 2016). De https://www.nuget.org/
fonte
A mensagem de erro está completamente correta. Eu tentei todos os truques e nenhum funcionou. O projeto (teste simples do MVC Web App) foi movido da comunidade Windows 8.1 VS 2015 para minha nova caixa de teste no Windows 10. Todas as atualizações mais recentes do VS 2015 foram aplicadas. Eu não conseguia nem instalar nenhuma versão mais recente do pacote de compiladores.
Finalmente, copiei o Microsoft.Net.Compilers.1.0.0 do projeto antigo para o novo e funcionou. Eu poderia então começar a atualizar outros pacotes para a versão mais recente. Parece um bug do processo de atualização do projeto de pepita para mim.
NOTA: O projeto original foi criado no VS 2015 e não possui nenhuma metodologia de nuget herdada.
fonte
Solução que funciona no meu caso - Visual Studio 2015 Enterprice, projeto .NET 4.6.1
fonte
Para mim, os pacotes estavam lá no caminho correto, mas as pastas de construção dentro da pasta de pacotes não estavam. Simplesmente removi todos os pacotes que estavam faltando e reconstruí a solução e ele criou com êxito as pastas de compilação e os arquivos .props. Portanto, as mensagens de erro estavam corretas ao me informar que algo estava errado.
fonte
Eu tive esse problema como uma falha na compilação no Azure, quando implantado no Git.
Acontece que meu .gitignore estava excluindo a
build
pasta de..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props
.Depois que a
build
pasta foi (forçada) comprometida com o Git, o problema foi resolvido.fonte
Resolvi o mesmo problema com as seguintes etapas
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net46" />
do arquivo package.config.Edite o arquivo de projeto .csproj e remova as configurações abaixo.
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" /> </Target>
Update-Package –reinstall
Os pontos 2 e 3 foram dados por outros usuários e eu os aprecio. Ponto 1, remover o
Microsoft.CodeDom.Providers.DotNetCompilerPlatform
arquivo package.config é mais importante. Além disso, depois de executar o comando mencionado no ponto 3, o problema foi resolvido. Todos os pacotes indesejados removidos e a referência obrigatória do pacote atualizada.Espero que isso ajude alguém.
fonte
Não encontrei nenhuma solução para isso, então adicionei uma cópia do nuget.exe e um script do PowerShell ao diretório raiz da solução chamada prebuild.ps1 com o seguinte conteúdo.
Chamei esse script do PowerShell na minha compilação no caminho do script de pré-compilação
fonte
O meu funcionou quando copiei a pasta packages, juntamente com o arquivo de solução e a pasta do projeto. Eu apenas não copiei a pasta packages do lugar anterior.
fonte
Você também pode usar a mensagem de erro sugerida como uma dica. Veja como, localize o Manage Packages for Solution e clique no resolver pacote de nuget ausente.
É isso aí
fonte
Comente a opção do compilador em
WebConfig
:Reconstrua se tudo estiver ok, não é necessário continuar; caso contrário, clique com o botão direito do mouse no projeto, clique em 'descarregar projeto'. Clique com o botão direito do mouse no projeto novamente e edite o arquivo .csproj
Valide o caminho do Codedom, ele não estava tendo o net45 nos caminhos anteriores, adicione manualmente, salve, carregue, reconstrua. Deveria funcionar.
fonte
Como muitos sugeriram remover a
<Target>
tag, pode torná-la compilável. No entanto, tenha cuidado com o efeito colateral ao fazer isso para projetos de teste.Tenho um erro relacionado a
MSTest.TestAdapter
pacote nuget durante a compilação. Resolvido esse problema removendo a<Target>
tag. Embora tenha tornado a construção bem-sucedida, os métodos de teste tornaram-se não detectáveis. O Test Explorer não listará os métodos de teste nesse projeto e o Teste de Execução ou Teste de Depuração também não funcionará.Eu encontrei isso enquanto usava
Visual Studio 2017
e.Net framework 4.7
, pode muito bem acontecer em outras versõesfonte
$(SolutionDir)
trabalho, mas a atualização falha. Eu perguntei isso aqui . Você tem alguma solução encontrada?O problema para mim foi que o NuGet não pôde obter / atualizar automaticamente os pacotes porque o caminho completo do arquivo seria muito grande. Corrigido, movendo minha solução para uma pasta em meus documentos, em vez de uma pasta profundamente aninhada .
Em seguida, clique com o botão direito do mouse na solução e selecione "Restaurar pacotes NuGet" (o que provavelmente não é necessário, se você o compilar e deixar fazer isso por você) e, em seguida, selecione "Gerenciar pacotes NuGet para solução" para obter todos os pacotes atualizado para a versão mais recente.
Isto foi para uma solução de um aplicativo ASP MVC de amostra baixado do site da Microsoft.
fonte
Para os engenheiros de desenvolvimento / DevOps, provavelmente é possível corrigir essa execução
nuget restore
no SLN afetado ou projetar se você não tiver um SLN. Eu tenho que fazer isso para nossas compilações de CI / CD para todos os nossos projetos UWP.VS2015
call "%VS140COMNTOOLS%VsDevCmd.bat"
ou
VS2017
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
call nuget restore MyStuff.SLN
oucall nuget restore MyStuff.csproj
se não houver SLN.fonte
Não tenho certeza se isso ajudará alguém, mas ocorreu um problema quando excluí o código-fonte da minha máquina local sem nunca ter salvo o arquivo de solução no TFS. (Durante o desenvolvimento inicial, cliquei com o botão direito do mouse e fiz o check-in no projeto no Solution Explorer, mas esqueci-me de fazer o check-in da solução. nenhum arquivo .sln. Então, no VS, fiz um Arquivo -> Controle de origem -> Avançado - Abrir do servidor e abri o arquivo .csproj. A partir daí, fiz um Save All e ele me perguntou onde eu queria salvar o arquivo .sln. Eu estava salvando esse arquivo .sln no diretório do projeto com as outras pastas (App_Data, App_Start, etc.), não no diretório de nível superior. Finalmente descobri que preciso salvar o arquivo .sln em um diretório da pasta do projeto para que ele ' s no mesmo nível da pasta do projeto. Todos os meus caminhos foram resolvidos e eu pude construí-lo novamente.
fonte
Para mim, meu arquivo gitignore estava ignorando minha pasta de pacotes. A seguinte linha gitignore estava causando o problema -
Removido e restaurado minha pasta de pacotes. Espero que isso ajude outra pessoa.
fonte
Eu corrigi esse erro, na verdade eu estava tendo uma versão diferente do MSTest.TestAdapter (1.3.2) na minha pasta packages e nas referências de arquivo .csproj estavam apontando para o MSTest.TestAdapter (1.1.0). Substituí todo o MSTest.TestAdapter (1.1.0) por MSTest.TestAdapter (1.3.2) e isso resolveu o meu problema.
fonte
Sei que essa pergunta é antiga, no entanto, encontrei a mesma situação hoje e queria jogar meus 2 centavos para alguém que tivesse encontrado esse problema recentemente. Um projeto ASP MVC que eu havia movido manualmente para uma subpasta na minha solução e depois removido e lido para a solução, usando o Visual Studio 2017, estava dando o erro mencionado. Mover as pastas "lib" e "packages" para a raiz da mesma subpasta que o projeto MVC corrigiu meu problema.
fonte
Eu estava tendo o mesmo problema, ao que parece, um dos projetos que eu estava referenciando estava fora do diretório da solução (e, portanto, não compartilhava a mesma pasta '/ packages'). A solução que funcionou para mim foi abrir a solução do projeto de referência e construí-la lá. Depois que o projeto foi construído, os erros desapareceram.
fonte