Pergunta

Recebi este erro hoje ao tentar abrir um Visual Studio 2008 projeto no Visual Studio 2005:

O projeto importado "C:\Microsoft.CSharp.targets" não foi encontrado.

Foi útil?

Solução

Abra seu arquivo csproj no bloco de notas (ou no bloco de notas ++) Encontre a linha:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

e mude para

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

Outras dicas

Esta é uma solução global, não dependente de pacote ou compartimento específico.

No meu caso, eu removi Pacotes pasta do meu diretório raiz.

Talvez isso aconteça porque seus pacotes estão lá, mas o compilador não encontra sua referência.então remova primeiro os pacotes mais antigos e adicione novos pacotes.

Passos para Adicionar novos pacotes

  • Primeiro remova a pasta de pacotes (estará próximo ou um passo acima da pasta do projeto atual).
  • Em seguida, reinicie o projeto ou solução.
  • Agora, reconstrua o arquivo da solução.
  • O projeto obterá novas referências do gerenciador de pacotes nuGet.E seu problema foi resolvido.

Esta não é uma solução adequada, mas Postei aqui porque enfrento o mesmo problema.

No meu caso, Não consigo nem abrir minha solução no visual studio e não recebi ajuda com as respostas acima.

Para mim, o problema era que o caminho do projeto continha 20% de caracteres, porque o git os adicionou em vez de espaços quando o repositório foi clonado.Outro problema pode ser se o caminho para um pacote for muito longo.

Esse link no MSDN também ajuda muito a entender o motivo pelo qual não funciona.$(MSBuildToolsPath) é o caminho para Microsoft.Build.Engine v3.5 (inserido automaticamente em um arquivo de projeto quando você cria no VS2008).Se você tentar construir seu projeto para .Net 2.0, certifique-se de alterar esse caminho para $(MSBuildBinPath) que é o caminho para Microsoft.Build.Engine v2.0.

No meu caso não consegui carregar um fora de 5 projetos na minha solução.

Ajudou a feche o Visual Studio e eu tive que excluir Microsoft.Net.Compilers.1.3.2 pasta nuget em packages pasta.

Depois, abra sua solução novamente e o projeto será carregado conforme o esperado

Só para ter certeza, feche todas as instâncias do VS antes de excluir a pasta.

Eu costumava ter esta seguinte linha no arquivo csproj:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

Depois de excluir este arquivo, ele funciona bem.

Se você encontrar o erro que diz Microsoft.CSharp.Core.targets not found, estas são as etapas que executei para corrigir o meu:

  1. Abra qualquer pasta de projetos de trabalho anteriores e navegue até o link mostrado no erro, ou seja Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/ e procure por Microsoft.CSharp.Core.targets arquivo.

  2. Copie este arquivo e coloque-o no projeto que não está funcionando tools folder (ou seja, navegando até a pasta de ferramentas no projeto que não está funcionando, conforme mostrado acima)

  3. Agora feche seu projeto (se estiver aberto) e reabra-o.

Deve estar funcionando agora.

Além disso, para garantir que tudo esteja funcionando corretamente em seu projeto do Visual Studio agora aberto, vá para Tools > NuGetPackage Manager > Manage NuGet Packages For Solution.Aqui, você pode encontrar um erro que diz: CodeAnalysis.dll está sendo usado por outro aplicativo.

Novamente, vá para o tools folder, encontre o arquivo especificado e exclua-o.Voltar para Manage NuGet Packages For Solution.Você encontrará um link que solicitará que você recarregue, clique nele e tudo será reinstalado.

Seu projeto deve estar funcionando corretamente agora.

Eu consegui isso depois de reinstalar o Windows.O Visual Studio foi instalado e pude ver o tipo de projeto Silverlight na janela Novo Projeto, mas abrir um não funcionou.A solução foi simples:Tive que instalar o tempo de execução do Silverlight Developer e/ou o Microsoft Silverlight 4 Tools for Visual Studio.Isso pode parecer estúpido, mas ignorei porque achei que deveria funcionar, já que o tipo de projeto Silverlight estava disponível.

ok, e daí se disser isto:entre os sinais GT/LT

Projeto de importação = "$ (msbuildExtensionsPath) Microsoft Silverlight V3.0 Microsoft.silverlight.csharp.targets" /

como faço para corrigir o erro de alvos?

Também descobri essa string de importação em um projeto de demonstração (especificamente "Construa seu próprio MVVM Framework", de Rob Eisenburg).

Se você substituir essa importação pela sugerida por lomaxx VS2010 RTM relata que você precisa instalar esse.

Para erros com Microsoft.WebApplications.targets, você pode:

  1. Instale o Visual Studio 2010 (ou a mesma versão da máquina de desenvolvimento) em seu servidor TFS.
  2. Copie o “Microsoft.WebApplication.targets”do arquivo da máquina de desenvolvimento para a máquina de construção do TFS.

Aqui está a postagem.

No meu caso, abri meu arquivo .csproj no bloco de notas e removi as três linhas a seguir.Funcionou perfeitamente:

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

Este erro também pode ocorrer ao abrir um projeto Silverlight que foi criado no SL 4, enquanto você tem o SL 5 instalado.

Aqui está um exemplo de mensagem de erro:O projeto importado "C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.CSharp.targets" não foi encontrado.

Observe a v4.0.

Para resolver, edite o projeto e encontre:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

E mude para v5.0.

Em seguida, recarregue o projeto e ele será aberto (a menos que você não tenha o SL 5 instalado).

Excluí a pasta obj e o projeto foi carregado conforme o esperado.

Às vezes, o problema pode estar na versão do VS codificada no arquivo .csproj.Se você tiver em seu csproj algo assim:

[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"

Você deve verificar se o número está correto (o motivo pelo qual está errado pode ser porque o projeto foi criado com outra versão do Visual Studio).Se estiver errado, substitua-o pela sua versão atual das ferramentas de construção OU use a variável VS:

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"

Encontrei esse problema ao executar um manual do Ansible, então quero adicionar meus 2 centavos aqui.Notei uma mensagem de aviso sobre a falta do Visual Studio 14.O Visual Studio versão 14 foi lançado em 2015 e a solução para o meu problema foi instalar o Visual Studio 2015 Professional na máquina host do meu agente Azure DevOps.

Depois de tentar restaurar, fechar o VS, deletar o pacote com falha, reabrir, tentar restaurar, várias vezes simplesmente apaguei tudo nos pacotes e quando fiz uma restauração funcionou perfeitamente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top