J'ai une application qui est supposée aider mon projet en termes de gestion des événements avant et après la construction. J'utilise ndesk.options pour l'analyse des arguments en ligne de commande. Ce qui m'a donné des résultats bizarres lorsque mon chemin de projet contient des espaces. Je pensais que c'était la faute de ndesk.options mais je suppose que ma propre application est à blâmer. J'appelle ma demande comme un événement post-construit comme ceci:Espaces et barres obliques inverses dans les événements de construction Visual Studio
build.exe --in="$(ProjectDir)" --out="c:\out\"
Un foreach simple sur args [] affiche les éléments suivants:
--in=c:\my project" --out=c:\out"
Ce qui est arrivé est que le dernier "dans chaque paramètre a été traité . comme si elle était échappé ainsi la barre oblique inverse de fuite a été enlevé et l'ensemble est traité comme un seul argument
maintenant, je pensais que j'étais intelligent en échappant à tout simplement le premier "aussi bien, comme suit:..
build.exe --in=\"$(ProjectDir)" --out=\"c:\out\"
Dans ce cas, les args résultant [] ressemblent à ceci:
--path="c:\my
project"
--out="c:\out"
La barre oblique inverse dans les paramètres est encore avalés et le premier paramètre est maintenant séparés. Passer ces args [] à ndesk.options produira alors des résultats erronés.
Quelle devrait être la bonne ligne de commande pour que les éléments corrects se retrouvent dans les emplacements args [] corrects? Alternativement, comment est-on censé analyser les arguments de ligne de commande comme ceux-ci avec ou sans ndesk.options? Toute suggestion est la bienvenue.
Merci à l'avance
Cela, en effet, fonctionne comme un charme. Et là je pensais avoir essayé toutes les combinaisons. Merci beaucoup :) –