Os pacotes NuGet estão ausentes

297

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

  1. Não tenho a pasta .nuget em minhas soluções.
  2. 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.
  3. Tentei remover o projeto do TFS e ele não o corrigiu.
  4. Juntamente com o erro acima, todas as referências no projeto têm sinais de aviso amarelos e dizem que estão ausentes.
  5. 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.
  6. 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.
Ques Tion
fonte
votos para encerrar esta pergunta devido à quantidade cortada de respostas postadas de baixa qualidade por novos usuários.
ZF007

Respostas:

265

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.

Tiberiu Craciun
fonte
2
Copiar a pasta Microsoft.Net.Compilers ... da pasta de pacotes antigos para o novo local de pacotes após uma movimentação, se estiver faltando, pode ser uma etapa final.
perfil completo de Justin Wignall
2
Acabei de remover o pacote ONE do meu computador e ele funcionou.
SpoiledTechie.com 13/03/19
1
Também recebi o erro ao mover fisicamente um projeto para um local diferente na solução do Visual Studio. Nenhuma das soluções nesta página funcionou, então fiz uma cópia do projeto (no sistema de arquivos) e removi completamente todas as referências ao projeto original no VS. Depois recriei o projeto e copiei os bits e partes dele (da cópia que fiz). Laborioso, mas funcionou.
Andrew Jens
2
Eu também tive o mesmo problema depois de mudar o projeto de um local para outro. O caminho de correção dos pacotes no arquivo ".csproj" corrigiu o problema.
Nirman 8/08
2
@ MiłoszWieczorek Tentei executar o comando no Package Manager Console e ele não resolveu o problema. Recarregou todos os pacotes, mas as referências ainda não foram encontradas.
Francisco d'Anconia
360

Resolvi meu problema removendo este código do .csprojarquivo:

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  <PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable 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('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
DKR
fonte
5
A resposta aceita não funcionaria, pois estou referenciando o projeto em várias soluções separadas. Essa foi a única correção. Comentou e funcionou como um encanto.
Levi Fuller
31
Eu posso estar errado, mas acredito que isso é "golpear a mosca com o martelo". Se, por qualquer motivo, o local publicou perde qualquer outro pacote NuGet necessário, ele será não de erro, dando-lhe um falso positivo (ou seja, a implantação bem-sucedida, mas o sistema falhar). Não sou fã, mas não vou votá-lo porque existem aspectos da pepita com os quais ainda não estou familiarizado.
HeyZiko
4
Isso também funcionou para mim. Estranho que a mensagem de erro foi codificado no próprio arquivo proj ...
Ryan Peters
7
Confirmei que esse problema ainda existe no VS 2017. Migrei um projeto do visual studio 2015 para 2017 e recebi esta mensagem de erro na primeira compilação em 2017. Isso corrigiu o erro.
Tom McDonald
2
Por que excluir a funcionalidade, arriscar seu projeto quebrar etc, fazendo isso? Como o @HeyZiko aponta, isso pode levar a problemas mais tarde. Eu poderia apenas fazer o que o erro indica "Ativar restauração de pacotes". Veja a minha resposta em algum lugar desta página ...
Nicow
45

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.

Update-Package –reinstall

Atualizar:

Você pode passar o nome específico do projeto como um parâmetro.

Update-Package –reinstall -ProjectName SampleApp
Shyam Bhagat
fonte
1
Isso funcionou para mim. O erro apareceu para mim depois de passar as alterações pelo git em um sistema e puxá-las para outro. Talvez o meu .gitignore não esteja configurado corretamente para pacotes nuget.
Patrick Borkowicz
16
Cuidado ... isso atualiza os pacotes de toda a solução e não apenas do projeto.
Usuário SO
1
Isso funcionou para mim. O NuGet continuou reclamando da falta de pacotes, mas o Visual Studio não resolveu automaticamente. Demorou alguns minutos para ser executado completamente, mas esse comando corrigiu meu problema.
Nick Alexander
8
Você pode adicionar o parâmetro -ProjectName para torná-lo apenas para um projeto específico, não para uma solução inteira.
Miłosz Wieczorek
2
O VS2017 travou no meio do caminho e quebrou tudo
rola o
19

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.

Ryan Russon
fonte
2
Cliquei com o botão direito do mouse na solução e Restore Nuget Packages.
Vitor Canova
1
I doador tem qualquer Restaurar Nuget pacote quando eu clique direito sobre solução .... Eu estou usando VS 2013 ..
Ziggler
também tinha que ter certeza de que ele restauraria para o pacote certo. verifique o arquivo .csproj usando note / Edit * .csproj para obter o local da pasta packages
AceMark
15

Tiberiu está correto. Eu tive que editar meu arquivo .csproj quando os arquivos foram movidos e causaram esse problema

 <Import Project="..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />

Eu mudei na parte superior do arquivo e na parte inferior

<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.1\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
Tom Stickel
fonte
o que funcionou para mim no final foi editar apenas a linha no final do arquivo, mas não no topo #
ISAE
15

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:

<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.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
    <Error Condition="!Exists('packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props'))" />
    <Error Condition="!Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
  </Target>

Clique com o botão direito do mouse no nome do projeto -> Recarregar Projeto

Finalmente, crie sua solução.

Abdullah
fonte
Depois de corrigir manualmente os caminhos no csproj, removi a seção GuaranteNuGetPackageBuildImports e funcionou perfeitamente. graças
willyMon
11

Resolvi esse problema removendo o seguinte código do arquivo .csproj

<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('..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\Assemblies\NuGet\SpecFlow.Plus.Excel.1.4.2\build\SpecFlow.Plus.Excel.targets'))" />

Mohsin Awan
fonte
1
Mas por que essas coisas estão erradas em primeiro lugar? Bug no Visual Studio?
Protector one
8

Uma combinação das 2 respostas funcionou para mim. Primeiro, modifiquei o arquivo .csproj para remover a referência à versão 1.0.0

< Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" >

  ----Error---

< /Target>

e depois

Update-Package -Reinstall

do e funcionou.

Prakrithi
fonte
6

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.

insira a descrição da imagem aqui

John Peters
fonte
6

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'.

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.

Nicow
fonte
Obrigado!! Eu também enfrentei uma situação semelhante e o 'Ativar restauração do pacote NuGet' funcionou.
Jain Prince
18
Não funcionou para mim, diz "Todos os pacotes já estão instalados e não há nada para restaurar".
Dalibor
5

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.

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
  -- Error messages within Target Tag
</Target>
MAK
fonte
5

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:

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.0.0
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.0.1
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.3\

Quando meu packages.config referenciou apenas o seguinte:

<package id="Microsoft.Net.Compilers" version="2.0.1"
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.3"

A remoção dos itens 1.0.0 do arquivo .csproj corrigiu o problema.

Brian Vander Plaats
fonte
2

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

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
</configuration>

ATUALIZAR:

O URL da API do NuGet foi alterado para v3 (atual em setembro de 2016). De https://www.nuget.org/

<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
madannes
fonte
1

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.

Loop:
<LOOP>This seems to be a Ground Hog Day phenomena.</LOOP>
GoTo Loop

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.

Peter Ennis
fonte
1

Solução que funciona no meu caso - Visual Studio 2015 Enterprice, projeto .NET 4.6.1

  1. Atualizar para a atualização 3
  2. Instalar ferramentas de desenvolvedor da Web

Instalação de estúdio visual wizzard

Norbert Rozmus
fonte
1

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.

Ian Hale
fonte
1

Eu tive esse problema como uma falha na compilação no Azure, quando implantado no Git.

Acontece que meu .gitignore estava excluindo a buildpasta de ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props.

Depois que a buildpasta foi (forçada) comprometida com o Git, o problema foi resolvido.

Neil Thompson
fonte
1

Resolvi o mesmo problema com as seguintes etapas

  1. Pacote removido <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net46" />do arquivo package.config.
  2. 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>

    1. Vá para o console do gerenciador de pacotes e execute o comando 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.DotNetCompilerPlatformarquivo 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.

Karthik
fonte
0

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.

$nugetexe = 'nuget.exe'
$args = 'restore SOLUTION_NAME_HERE.sln'
Start-Process $nugetexe -ArgumentList $args

Chamei esse script do PowerShell na minha compilação no caminho do script de pré-compilação insira a descrição da imagem aqui

Nick Rubino
fonte
0

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.

user1429899
fonte
0

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í

Parama Dharmika
fonte
0

Comente a opção do compilador em WebConfig:

<!--<system.codedom>
<compilers>
  <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
  <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>-->

Atualizar a versão mais recente dos pacotes no arquivo de configuração do pacote

  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="1.0.4" targetFramework="net452" />

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.

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.4\build\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
Vikas Bansal
fonte
0

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 2017e .Net framework 4.7, pode muito bem acontecer em outras versões

Saravanan
fonte
1
Eu tenho exatamente esse problema usando o VS2017, .Net4.7 e um projeto de teste de unidade. Esse projeto é adicionado a várias soluções. A restauração automática funciona, mas no lugar errado. Substitua pelo $(SolutionDir)trabalho, mas a atualização falha. Eu perguntei isso aqui . Você tem alguma solução encontrada?
Sebastian Schumann
0

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.

pkr298
fonte
0

Para os engenheiros de desenvolvimento / DevOps, provavelmente é possível corrigir essa execução nuget restoreno 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.

  1. Verifique se o nuget está instalado no escravo de compilação no Visual Studio ou autônomo. Se for o último, verifique se está no PATH e pule a etapa 2.
  2. Abra o console do VS Dev CMD ou carregue-o através de um já aberto, o que você pode fazer com as instruções abaixo:
    VS2015 call "%VS140COMNTOOLS%VsDevCmd.bat"
    ou
    VS2017call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\VsDevCmd.bat"
  3. call nuget restore MyStuff.SLNou call nuget restore MyStuff.csprojse não houver SLN.
kayleeFrye_onDeck
fonte
0

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.

chersull_99
fonte
0

Para mim, meu arquivo gitignore estava ignorando minha pasta de pacotes. A seguinte linha gitignore estava causando o problema -

**/packages/*

Removido e restaurado minha pasta de pacotes. Espero que isso ajude outra pessoa.

bsod_
fonte
0

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.

Irshad Ahmed Akhonzada
fonte
0

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.

JP Sietsma
fonte
0

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.

bmontalvo
fonte