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.