web-dev-qa-db-fra.com

La «génération» cible n'existe pas dans le projet pour Visual Studio

Je vérifie le code d'un projet où les contributeurs utilisent différents outils de développement pour coder en c sharp (C #). Mon fichier .csproj a été manipulé par une personne utilisant Sharp develop et maintenant j'obtiens "La cible" build "n'existe pas dans le projet".

  • Comment puis-je corriger cela?

J'utilise Visual Studio 2008 SP 1.

44
CountCet

Si vous deviez le faire manuellement, je prendrais tous les fichiers et les ajouterais à un nouveau fichier de projet un par un.

0
Gabriel McAdams

La réponse acceptée est une solution de contournement, pas une solution. Vous devez ouvrir le fichier .csproj Pour le modifier dans un éditeur de texte et vous assurer que la ligne suivante y est présente

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

Sinon, ajoutez-le à la fin.

Remarque: pour VS2008, cela peut être $(MSBuildToolsPath)

126
Shankar

J'ai eu le même problème lorsque j'ai mis à niveau un projet intégré dans VS2005 vers VS2010 Express. Initialement, le VS2010 a refusé de charger le projet avec le message d'erreur "Le projet n'est pas pris en charge par cette installation". Après avoir essayé de nombreuses solutions, cela a finalement fonctionné et je suppose que cela a fonctionné lorsque deux lignes ont été supprimées du fichier de projet liées à la cible de génération. Cependant, il présentait un nouveau problème que le projet ne créerait pas. Bien sûr, cela a du sens car j'ai supprimé les entrées du fichier de projet qui indiquaient à Visual Studio comment créer le projet.

Enfin, s'est emparé d'un autre projet qui travaillait sur VS2010 Express et a copié les lignes suivantes dans le projet qui échouait. Cela a fonctionné après cela.

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

J'espère que cela aide quelqu'un.

4
Shashank

La suppression du dossier .vs a fonctionné pour moi.

0
user1542334

Quant à moi, j'essayais de construire une solution avec des projets F # (fichiers .fsproj).

Le problème était que j'utilisais un ancien MSBuild (situé dans le chemin %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe).

Lorsque j'ai essayé d'exécuter la nouvelle version, située dans "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\MSBuild.exe", tout a bien fonctionné.

Ou si vous utilisez Visual Studio Enterprise ou GithubActions CI, le chemin est "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe".

Je les ai trouvés en lançant ceci:

"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -find MSBuild\**\Bin\MSBuild.exe
0
knocte

Je viens d'avoir ce problème avec Visual Studio 2017 v15.9.2 et d'effacer le .vs le dossier dans la racine de la solution était la seule solution qui fonctionnait pour moi.

0
Efran Cobisi