2012-01-31 3 views

Répondre

1

Vous pouvez appeler votre cible zipper directement lors de l'exécution de votre csproj

msbuild your.csproj /target:yourZipTarget 

Si vous devez contrôler passer comme un éclair/sans passer comme un éclair pour normal, vous Builds pouvez ajouter un condition à votre cible passer comme un éclair

<Target Name="yourZipTarget" Condition="'$(Configuration)'!='DEBUG'"> 
    <!-- zipping... --> 
</Target> 

L'exemple ci-dessus exécute le zipping uniquement lors d'une compilation RELEASE (sauf si vous n'avez pas introduit une autre configuration personnalisée).

Vous pouvez déclarer votre propriété au niveau du projet pour votre zipper Condition et spécifier (et remplacer une valeur par défaut) lorsque vous appelez msbuild

msbuild your.csproj /property:DoZip=true

<PropertyGroup> 
    <DoZip Condition=" '$(DoZip)' == '' ">false</DoZip> 
</PropertyGroup> 

<Target Name="yourZipTarget" Condition="'$(DoZip)'!='false'"> 
    <!-- zipping... --> 
</Target> 
+0

devrait être $ (Configuration) au lieu de $ (CONFIG) – Tomas

+0

@Tomas Tu as raison. J'ai corrigé l'exemple (que j'ai copié à partir d'un de mes scripts de construction personnalisés) en conséquence. – Filburt

+0

@Tomas Tu as raison. J'ai corrigé l'exemple (que j'ai copié à partir d'un de mes scripts de construction personnalisés) en conséquence. – Filburt

0

Eh bien, il y a quelques options

1 - déplacer votre code postal personnalisé sur le projet

2 - vous possédez le code si le modifier

3 - utiliser la syntaxe msbuild exclure fichiers d'un groupe d'éléments

Il est difficile de dire quelle est la meilleure solution pour vous sans voir le fichier de projet MSBuild et de comprendre ce que vous entendez par "j'ai ajouté du code personnalisé dans le fichier csproj".

Questions connexes