1 votes

Comment puis-je obtenir la liste des propriétés avec lesquelles MSBuild a été invoqué ?

Compte tenu de cette commande :

MSBuild.exe build.xml /p:Configuration=Live /p:UseMerge=true /p:EnableUpdateable=false

comment puis-je former une chaîne de caractères comme celle-ci dans mon build script :

UseMerge=true;EnableUpdateable=true

où je pourrais no savoir quelles propriétés ont été utilisées à la ligne de commande.

1voto

Ruben Bartelink Points 23945

Qu'allez-vous faire de cette liste ?

Il n'y a pas de fonction intégrée "propriétés issues de la ligne de commande", comme le splatting dans PowerShell 2.0.

Rappelez-vous que les propriétés peuvent provenir de variables d'environnement et/ou d'autres scripts.

De plus, vous avez supprimé un des paramètres dans votre exemple.

En général, si l'on essaie de chaîner à une autre commande, on utilise la commande par défaut ( Condition sur des éléments dans PropertyGroup ) et la validation ( Message s Condition al sur la présence d'options) et ensuite soit créer une nouvelle propriété, soit intégrer les paramètres que vous voulez passer dans une chaîne.

J'espère que quelqu'un a un bel exemple d'une manière plus générale de faire cela, mais j'en doute.

Comme indiqué dans http://www.simple-talk.com/dotnet/.net-tools/extending-msbuild/ on peut vider les paramètres passés en faisant /v:diag sur la ligne de commande (mais ce n'est évidemment pas ce que vous recherchez).

Jetez un coup d'œil aux fichiers Common.targets - vous trouverez de nombreux cas de chaînage impliquant la construction manu militari de listes à transmettre aux tâches subordonnées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X