J'ai vécu une expérience similaire.
J'avais écrit ceci dans notre Autobuild.targets
exécuté dans le cadre d'une construction. Il définit MSWebApplicationTargets
:
<MSWebApplicationTargets>$(SolutionDirectory)\packages\MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0.3</MSWebApplicationTargets>
Puis dans un .csproj
qui fait partie du projet et qui a été utilisé dans le build qu'il a eu :
<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 a dit que c:/tools/VSToolsPath/WebApplications/Microsoft.WebApplication.targets
n'existe pas (parce que VS a considéré MSWebApplicationTargets
pour être indéfini et semblait donc être par défaut à c:\
). Vous ne fournissez pas assez d'informations, mais c'est peut-être ce qui a causé votre problème également.
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)' != ''" />
Pourquoi faire cela avec Microsoft.WebApplication.targets
Dans le cadre d'une discussion ultérieure, j'ai fait cela avec Microsoft.WebApplication.targets
pour ne pas avoir à compter sur l'installation de Visual Studio sur les serveurs de construction. Je l'ai ajouté comme une dépendance :
- Dans Visual Studio, cliquez avec le bouton droit de la souris sur le projet et allez à
manage nuget packages
. Cela a créé un packages.config
qui énumère MSBuild.Microsoft.VisualStudio.Web.targets
en tant que dépendance.
- J'ai ensuite ajouté
nuget.exe restore
au début du build script pour que les dépendances soient téléchargées.
0 votes
Voir aussi ... stackoverflow.com/questions/3980909/