Résolution des problèmes de génération de projets Web avec Team Foundation Build
Mise à jour : novembre 2007
La section suivante décrit les scénarios de résolution des problèmes courants que vous pouvez rencontrer lorsque vous générez des projets Web avec Team Foundation Build.
Les projets Web ne sont pas générés
La configuration de génération doit être affectée à « .NET » pour la génération de projets Web uniquement, et à « Plateformes mixtes » pour la génération d'un mélange de projets Web et d'autres projets managés dans Visual Studio.
Si vous avez spécifié une configuration de génération incorrecte, cet avertissement est enregistré dans le fichier journal de génération :
Warning MSB4126: The specified solution configuration "Release|Any CPU" is invalid. Specify a valid solution configuration using the Configuration and Platform properties (e.g, MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration.
Solution
Modifiez la configuration en "Plateformes mixtes" ou ".NET" dans votre définition de build. Ou alors, lorsque vous créez un fichier TFSBuild.proj, sélectionnez ".NET" ou "Plateformes mixtes" comme configuration sur la page Sélectionnez les configurations à générer de l'Assistant Création de fichier de projet MSBuild. Pour plus d'informations, consultez Comment : créer une définition de build.
Structures de répertoire en conflit
Par défaut, lorsque vous créez un projet Web dans Visual Studio, les fichiers solution et les fichiers de site Web sont stockés dans deux emplacements différents. Pour un projet Web, "SampleWS", les fichiers solution sont enregistrés dans :
- <racine>:\Documents and Settings\utilisateur\Mes documents\Visual Studio 2008\Projects\SampleWS
Les fichiers de site Web sont enregistrés dans :
- <root>:\Documents and Settings\utilisateur\Mes documents\Visual Studio 2008\Websites\SampleWS
Un fichier solution de projet Web contient une propriété PhysicalPath qui pointe sur le dossier de site Web pour l'identifier en vue de la compilation. Toutefois, lorsqu'une solution de projet Web est archivée dans le contrôle de code source, le fichier solution est stocké dans le dossier racine et les sites Web dans les sous-dossiers immédiats. Le résultat est que les propriétés PhysicalPath sont rompues dans le fichier solution sous contrôle de code source. Pendant la génération, Team Foundation Build synchronise les fichiers projet Web en utilisant l'arborescence du contrôle de version. Des erreurs de compilation se produisent parce que l'arborescence du contrôle de version diffère de celle de la solution.
Si vous avez des structures de répertoire en conflit dans le fichier solution et le contrôle de code source, cette erreur est enregistrée dans le fichier journal de génération :
ASPNETCOMPILER (0,0) : erreur 1003 : Le répertoire d:\<RépertoireBuild>\MyTeamProject\SampleWS\WebSites\SampleWS\' n'existe pas.
Solution
Créez une solution vierge dans Visual Studio, puis créez des sites Web dans le même emplacement que la solution.
Modifiez les propriétés Debug.AspNetCompiler.PhysicalPath et Release.AspNetCompiler.PhysicalPath dans le fichier solution pour pointer sur le dossier de site Web sous contrôle de code source.
Voir aussi
Autres ressources
Administration de Team Foundation Build