Comment modifier le répertoire de construction utilisé par MSBuild sous Team Foundation Build?
Question
L'erreur suivante s'affiche lorsque j'essaie de créer mon application à l'aide de Team Foundation Build:
C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets (1682,9): erreur MSB3554: impossible d’écrire dans le fichier de sortie " obj \ Release \ Company.Redacted.BlahBlah. Localisation.Sous-systèmes. Startup_Shutdown_Processing.StartupShutdownProcessingMessages.de.resources " ;. Le chemin, le nom de fichier ou les deux spécifiés sont trop longs. Le nom de fichier complet doit comporter moins de 260 caractères et le nom de répertoire moins de 248 caractères.
Mon projet s'appuie bien sur ma machine de développement car la source ne contient que deux dossiers, mais TF Build semble utiliser un répertoire très profond qui provoque sa rupture. Comment modifier les dossiers utilisés?
Modifier: , j'ai vérifié le fichier .proj de ma version stockée dans le contrôle de code source et constaté que:
<!-- BUILD DIRECTORY
This property is included only for backwards compatibility. The build directory used for a build
definition is now stored in the database, as the BuildDirectory property of the definition's
DefaultBuildAgent. For compatibility with V1 clients, keep this property in sync with the value
in the database.
-->
<BuildDirectoryPath>UNKNOWN</BuildDirectoryPath>
Si cela est stocké dans la base de données, comment puis-je le changer?
Modifier: le billet de blog suivant a été trouvé, qui pourrait bien me guider vers la solution. Maintenant, je dois juste comprendre comment changer le paramètre dans l'agent de génération. http: / /blogs.msdn.com/jpricket/archive/2007/04/30/build-type-builddirectorypath-build-agent-working-directory.aspx
Actuellement, mon répertoire de travail est " $ (Temp) \ $ (BuildDefinitionPath) " mais maintenant, je ne sais pas quels caractères génériques sont disponibles pour spécifier un autre dossier.
La solution
Vous devez éditer le répertoire de travail de construction de votre agent de génération de sorte que le chemin de début soit un peu plus petit. Pour modifier l'agent de génération, cliquez avec le bouton droit de la souris sur le bouton " Constructions " noeud et sélectionnez "Gérer les agents de construction ..."
J'utilise personnellement quelque chose comme c: \ bw \ $ (BuildDefinitionId). $ (BuildDefinitionId) est traduit en id de la définition de construction (d'où le nom :-)), ce qui signifie que vous obtenez un chemin de construction commençant par quelque chose comme c: \ bw \ 36 plutôt que c: \ Documents and Settings \ tfsbuild \ Local. Settings \ Temp \ BuildDefinitionName
Bonne chance,
Martin.
Autres conseils
vous devez extraire le fichier de script de construction à partir de l'explorateur de contrôle de code source et vous salir les coudes en remplaçant le chemin.