J'ai cette erreur lors de la configuration de l'intégration continue dans le serveur TFS, mais j'ai déjà trouvé la réponse. Peut-être que cela aidera les autres:
The imported project "C:\Program Files (x86)\
MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\
Microsoft.WebApplications.targets" was not found.
Vous devez soit ...
<!--<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />-->
Commentaire au-dessus de la ligne dans .CSproj. Cela ressemble à un bogue avec Microsoft qui ne supprime ni ne commente lors de la mise à jour de projet de visual studio 2008 à 2010.
J'ai constaté la même erreur lors de la configuration de l'intégration continue avec Jenkins. J'ai pu ajouter un argument de ligne de commande à MSBUILD: /p:VisualStudioVersion=12.0
car Visual Studio 2012 était installé sur mon serveur de génération.
Télécharger et installer Package redistribuable Microsoft Visual Studio 2013 Shell . Ou utilisez le lien direct vers vs_isoshell.exe . J'ai l'intention de faire un paquet NuGet pour cela à une date ultérieure.
L'avantage que je vois dans cette approche est qu'elle supprime tout doute sur les questions de droit d'auteur.
J'ai vécu quelque chose de similaire.
Je l'avais écrit dans notre fichier Autobuild.targets
dans le cadre d'une construction. Il définit MSWebApplicationTargets
:
<MSWebApplicationTargets>$(SolutionDirectory)\packages\MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0.3</MSWebApplicationTargets>
Ensuite, dans un fichier .csproj
faisant partie du projet et utilisé dans la construction, il contenait:
<Import
Project="$(MSWebApplicationTargets)/tools/VSToolsPath/WebApplications/Microsoft.WebApplication.targets" />
Maintenant, notre problème était que, lorsque nous avons ouvert le projet dans Visual Studio, il était indiqué que c:/tools/VSToolsPath/WebApplications/Microsoft.WebApplication.targets
n’existait pas (car VS considérait MSWebApplicationTargets
comme non défini et semblait donc le remplacer par défaut par c:\
). Vous ne fournissez pas assez d'informations mais c'est peut-être aussi ce qui a causé votre problème.
Tout ce que j'avais à faire pour résoudre ce problème était d'ajouter une condition:
<Import
Project="$(MSWebApplicationTargets)/tools/VSToolsPath/WebApplications/Microsoft.WebApplication.targets"
Condition="'$(MSWebApplicationTargets)' != ''" />
Microsoft.WebApplication.targets
Dans le cadre de discussions ultérieures, j’ai fait cela avec Microsoft.WebApplication.targets
afin que nous n’ayons pas à nous fier à l’installation de Visual Studio sur les serveurs de construction. Je l'ai ajouté comme dépendance:
manage nuget packages
. Cela a créé un fichier packages.config
qui répertoriait MSBuild.Microsoft.VisualStudio.Web.targets
en tant que dépendance. nuget.exe restore
au début du script de construction pour que les dépendances soient téléchargées.J'ai eu ce problème aussi, sauf que ces fichiers étaient déjà là. Après beaucoup de dépannage, la réponse s'est révélée extrêmement simple: redémarrez le service de l'agent de génération. Dans mon cas, il s'agissait de: "Hôte 2013 du service de génération de build Visual Studio Team Foundation"
Si vous ne déployez pas à partir du serveur de génération, désactivez simplement le Microsoft.WebApplication.targets
sur le serveur de génération. Voir ma réponse ici: https://stackoverflow.com/a/35781566/4955344
Et si vous avez déjà installé Visual Studio? Peut-être que Visual Studio 2012 est installé (et 10.0 indique VS 2010)? Si tel est le cas, vous pouvez simplement rechercher dans votre fichier .csproj "10.0" et le remplacer par "11.0". Vous pourrez ensuite ouvrir le projet sans problème.