2009-04-03 6 views
0

J'ai écrit un script Nant qui exécute MSBUILD.exe pour compiler un projet sur ma machine dev. Sur ma machine dev, les projets construisent sa sortie vers bin \ x86 \ Release et mon script Nant zippe le contenu de ce répertoire. Je commet alors tout à SVN et laisse TeamCity exécuter le script Nant qui exécute MSBUILD.exe pour compiler le projet et compresser la sortie, mais la sortie est créée dans bin \ Release et le fichier zip est vide car il regarde dans bin \ x86 \ Libération. Pourquoi cela arrive-t-il?Pourquoi Nant a-t-il compilé MsBuild dans un répertoire différent sur des machines différentes?

Lorsque j'apporte des modifications à la configuration et à la plate-forme dans VS.NET 2008, le fichier de projet ne s'affiche pas comme étant modifié. Ces paramètres sont-ils stockés dans le fichier de projet, le fichier de solution ou le fichier de configuration utilisateur et ne sont donc pas transmis au serveur de génération?

Répondre

1

Quick fix: Vous pouvez utiliser le drapeau/propriété: OutDir = bin \ x86 \ Release

Vous devez trouver la cause racine de cela. Probablement la configuration est incorrecte. Vous pouvez modifier la configuration de manière explicite en quelque chose comme/p: Configuration = Version

+0

Merci pour la réponse rapide, mais où dois-je passer ce paramètre? Ma tâche Nant transmet les paramètres suivants: AllProjects.sln/t: rebuild /p:Configuration=${project.config} Est-ce que je viens d'ajouter un autre paramètre/p? – flipdoubt

1

Etes-vous sûr que $ {project.config} pointe vers le même emplacement dans les environnements locaux et TeamCity?

Les agents ne s'exécutent pas toujours avec les variables d'environnement sem comme machine locale. Donc, je voudrais commencer à vérifier toutes les propriétés et voir où ils pointent dans la machine locale ainsi que TeamCity. Comme pour /p:Configuration=${project.config}, vous ne pouvez avoir qu'une seule configuration en cours d'exécution mais vous pouvez spécifier plus de propriétés avec; entre eux:

/p:Configuration=${project.config};OutDir=bin\x86\Release

+0

btw/p: xxx = yyy est raccourci pour/propriété: xxx = yyy – haqwin

+0

Selon la sortie Nant, $ {project.config} évalue à "Release" sur les machines dev et TeamCity – flipdoubt

Questions connexes