2010-08-19 6 views
5

J'ai créé des tâches de construction ms pour mon projet VS.fichier externe pour contenir les tâches msbuild

Plutôt que d'avoir à mettre à jour le fichier projet VS avec chacune des tâches, est-il possible de créer un fichier externe pour contenir les tâches de construction et de le référencer via le fichier projet principal?

Aussi, j'ai vu avec nant, que vous pouvez créer un fichier .bat pour exécuter des tâches nant. Est-il possible de faire similaire avec msbuild?

Répondre

6

Oui. Vous pouvez utiliser la tâche Importer:

<Import Project="PathToMyIncludeFile\Include.proj" /> 

Et oui, vous pouvez créer un fichier batch pour exécuter msbuild. La syntaxe est

msbuild <project> /t:target[;target] /p:propertyname=propertyvalue 

Lorsque les objectifs sont définis dans le fichier msbuild et les propriétés sont des propriétés définies dans le fichier. Si vous ne spécifiez pas de cible, la valeur par défaut définie dans l'élément de fichier msbuild sera exécutée. Voici quelques exemples:

Alors pour exécuter votre construction avec Clean, et les cibles disponibles:

msbuild myproject.proj /t:Clean;Compile 

Ou pour exécuter votre construction avec un objectif de Compile et une configuration de sortie:

msbuild myproject.proj /t:Compile /p:Configuration=Release 

Ou pour exécuter votre construction avec la cible par défaut et définir une propriété version:

msbuild myproject.proj /p:Version=2.0.0.1 

Les paramètres de ligne de commande ont la priorité sur les valeurs définies dans le fichier. Ainsi, dans l'exemple ci-dessus si vous aviez la version définie dans le fichier comme:

<PropertyGroup> 
    <Version>1.0.0.0</Version> 
<PropertyGroup> 

La construction courrait avec une version configurée 2.0.0.1

Comme d'habitude, consultez MSDN pour plus d'informations.

Questions connexes