Sì. È possibile utilizzare l'attività di importazione:
<Import Project="PathToMyIncludeFile\Include.proj" />
E sì, è possibile creare un file batch per eseguire msbuild. La sintassi è
msbuild <project> /t:target[;target] /p:propertyname=propertyvalue
Dove sono definiti gli obiettivi nel file msbuild e le proprietà sono le proprietà definite nel file. Se non si specifica una destinazione, verrà eseguito il valore predefinito definito nell'elemento del file msbuild. Qui ci sono un paio di esempi:
Quindi, per eseguire la vostra costruzione con Clean, e compila obiettivi:
msbuild myproject.proj /t:Clean;Compile
o per eseguire la build con un obiettivo di compilazione e di una configurazione di rilascio:
msbuild myproject.proj /t:Compile /p:Configuration=Release
O per eseguire il vostro costruire con la destinazione predefinita e impostare una proprietà version:
msbuild myproject.proj /p:Version=2.0.0.1
I parametri della riga di comando hanno la precedenza sui valori definiti nel file. Così, nell'esempio di cui sopra se si ha la versione definita nel file come:
<PropertyGroup>
<Version>1.0.0.0</Version>
<PropertyGroup>
La build correrebbe con una versione configurata di 2.0.0.1
Come al solito, controllare MSDN per maggiori informazioni.