No se encontró el proyecto importado "C: \ Microsoft.CSharp.targets"

126

Recibí este error hoy cuando intento abrir un proyecto de Visual Studio 2008 en Visual Studio 2005:

No se encontró el proyecto importado "C: \ Microsoft.CSharp.targets".

lomaxx
fuente
Tuve que renombrar mis referencias de Microsoft.CSharp.Targetsa Microsoft.CSharp.targetsen los .csprojarchivos.
Stephane

Respuestas:

112

Abra su archivo csproj en el bloc de notas (o notepad ++) Busque la línea:

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

y cambiarlo a

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
lomaxx
fuente
22
El mío dice: "<Proyecto de importación =" $ (MSBuildExtensionsPath32) \ ... "
B. Clay Shannon
@ Iomaxx, arreglé este problema cambiando el Objetivo de compilación de Monodevelop a Mono / .NET 4.0 de Mono / .NET 3.5.
Frank
55
El mío ya dijo MSBuildBinPath, pero incluía CompactFramework en el espacio de nombres: <Import Project = "$ (MSBuildBinPath) \ Microsoft.CompactFramework.CSharp.targets" />
Teysz
Si está utilizando Monodevelop, instala los paquetes: "mono-msbuild" y "mono-msbuild-sdkresolver". NOTA: Probado en Linux Manjaro.
Eduardo Lucio
Deberá eliminar el paquete "msbuild-stable" (o equivalente) si está instalado. NOTA: Probado en Linux Manjaro.
Eduardo Lucio
59

Esta es una solución global, que no depende de un paquete o contenedor en particular.

En mi caso, eliminé la carpeta Paquetes de mi directorio raíz.

Tal vez sucede porque sus paquetes están allí, pero el compilador no encuentra su referencia. elimine primero los paquetes más antiguos y agregue nuevos paquetes.

Pasos para agregar nuevos paquetes

  • Primero elimine la carpeta de paquetes ( estará cerca o un paso más arriba de su carpeta de proyecto actual ).
  • Luego reinicie el proyecto o la solución.
  • Ahora, reconstruya el archivo de solución.
  • El proyecto obtendrá nuevas referencias del administrador de paquetes nuGet. Y su problema ha sido resuelto.

Esta no es la solución adecuada, pero la publiqué aquí porque tengo el mismo problema.

En mi caso, ni siquiera pude abrir mi solución en Visual Studio y no obtuve ninguna ayuda con otras respuestas SO.

Bharat
fuente
1
Como dice Alf Moh, solo busque ese archivo en otro lugar de su computadora y cópielo en la carpeta donde lo está buscando
Serj Sagan
@SerjSagan sí, eso ayudará, pero a veces no puede abrir ni siquiera un archivo de solución en Visual Studio, en ese momento mi solución ayudará ...
Bharat
55
Tuve este problema en Visual Studio para Mac, ¡el Microsoft.CSharp.targetsarchivo por alguna razón fue eliminado! como dijiste, eliminé la packagescarpeta y reinicié Visual Studio, ¡mágicamente funcionó!
A-Sharabiani
1
Esto me lo arregló, pero un colega mío pudo hacer que esto funcionara la primera vez. Si bien esto funciona, ¡tengo algo más que encontrar!
JakePlatford
1
¡Buen hermano! Perdí 1 hora en esto
Hugo Nava Kopp
20

Para mí, el problema era que la ruta del proyecto contenía% 20 caracteres, porque git agregó esos en lugar de espacios cuando se clonó el repositorio. Otro problema podría ser si la ruta a un paquete es demasiado larga.

usuario2042930
fuente
1
Este fue el problema para mí. El nombre del proyecto tenía espacio, por lo que el nombre del directorio después de que git clone tuviera el% 20. Puede usar git clone <RepoUrl> <LocalDirName>para especificar el nombre del directorio en el que desea clonar para evitar tener el% 20
Dan Cook
11

Este enlace en MSDN también ayuda mucho a entender la razón por la cual no funciona. $ (MSBuildToolsPath) es la ruta a Microsoft.Build.Engine v3.5 (se inserta automáticamente en un archivo de proyecto cuando se crea en VS2008). Si intenta compilar su proyecto para .Net 2.0, asegúrese de haber cambiado esta ruta a $ (MSBuildBinPath), que es la ruta a Microsoft.Build.Engine v2.0.

Oleg Sakharov
fuente
11

En mi caso no pude cargar uno de cada 5 proyectos en mi solución.

Ayudó a cerrar Visual Studio y tuve que eliminar la Microsoft.Net.Compilers.1.3.2 carpeta nuget enpackages carpeta.

Luego, abra su solución nuevamente y el proyecto se cargará como se esperaba

Solo para estar seguro, cierre todas las instancias de VS antes de eliminar la carpeta.

Vojta
fuente
6

Solía ​​tener esta siguiente línea en el archivo csproj:

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

Después de eliminar este archivo, funciona bien.

apurado
fuente
6

Si se encuentra con el error que dice Microsoft.CSharp.Core.targets not found, estos son los pasos que tomé para corregir el mío:

  1. Abra cualquier carpeta de proyectos de trabajo anteriores y navegue hasta el enlace que se muestra en el error, es decir, Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/y busque el Microsoft.CSharp.Core.targetsarchivo.

  2. Copie este archivo y póngalo en el proyecto tools folderque no funciona (es decir, navegando a la carpeta de herramientas en el proyecto que no funciona como se muestra arriba)

  3. Ahora cierre su proyecto (si estaba abierto) y vuelva a abrirlo.

Debería estar funcionando ahora.

Además, para asegurarse de que todo funcione correctamente en su proyecto de Visual Studio ahora abierto, vaya a Tools > NuGetPackage Manager > Manage NuGet Packages For Solution . Aquí, puede encontrar un error que dice que CodeAnalysis.dll está siendo utilizado por otra aplicación.

De nuevo, ve al tools folder , busque el archivo especificado y elimínelo. Vuelve aManage NuGet Packages For Solution . Encontrará un enlace que le pedirá que vuelva a cargar, haga clic en él y todo se volverá a instalar.

Su proyecto debería estar funcionando correctamente ahora.

Alf Moh
fuente
3

Obtuve esto después de reinstalar Windows. Se instaló Visual Studio y pude ver el tipo de proyecto Silverlight en la ventana Nuevo proyecto, pero abrir uno no funcionó. La solución fue simple: tuve que instalar el tiempo de ejecución de Silverlight Developer y / o Microsoft Silverlight 4 Tools para Visual Studio. Esto puede parecer estúpido, pero lo pasé por alto porque pensé que debería funcionar, ya que el tipo de proyecto Silverlight estaba disponible.

Peter
fuente
3

En mi caso, abrí mi archivo .csproj en el bloc de notas y eliminé las siguientes tres líneas. Trabajado como un encanto:

<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')" />
Ben
fuente
2

ok, ¿y si dice esto: entre los signos gt / lt

Importar proyecto = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /

¿Cómo soluciono el error de objetivos?

También encontré esa cadena de importación en un proyecto de demostración (específicamente "Construye tu propio marco MVVM" de Rob Eisenburg).

Si reemplaza esa importación con la sugerida por lomaxx VS2010 RTM, informa que necesita instalar esto .

Andre Luus
fuente
2

Para errores con Microsoft.WebApplications.targets, puedes:

  1. Instale Visual Studio 2010 (o la misma versión que en la máquina de desarrollo) en su servidor TFS.
  2. Copie el " Microsoft.WebApplication.targets" del archivo de la máquina de desarrollo a la máquina de compilación TFS.

Aquí está la publicación.

stack247
fuente
1

Este error también puede ocurrir al abrir un proyecto de Silverlight que se creó en SL 4, mientras tiene SL 5 instalado.

Aquí hay un mensaje de error de ejemplo: No se encontró el proyecto importado "C: \ Archivos de programa (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets".

Tenga en cuenta la v4.0.

Para resolver, edite el proyecto y busque:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Y cámbielo a v5.0.

Luego vuelva a cargar el proyecto y se abrirá (a menos que no tenga SL 5 instalado).

Greg Gum
fuente
0

Eliminé la carpeta obj y luego el proyecto se cargó como se esperaba.

Atron Seige
fuente
0

A veces, el problema podría estar con la versión VS codificada en el archivo .csproj. Si tiene en su csproj algo como esto:

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

Debe verificar si el número es correcto (la razón por la que está mal puede ser que el proyecto se creó con otra versión de Visual Studio). Si está mal, reemplácelo con su versión actual de las herramientas de compilación O use la variable VS:

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

Me encontré con este problema mientras ejecutaba un libro de jugadas de Ansible, así que quiero agregar mis 2 centavos aquí. Noté un mensaje de advertencia sobre la falta de Visual Studio 14. Visual Studio versión 14 se lanzó en 2015 y la solución a mi problema fue instalar Visual Studio 2015 Professional en la máquina host de mi agente de Azure DevOps.

Alex
fuente
0

Después de intentar restaurar, cerrar VS, eliminar el paquete fallido, volver a abrir, intentar restaurar, varias veces simplemente eliminé todo en los paquetes y cuando hice una restauración y funcionó perfectamente.

Digno7
fuente