Удалить обратную косую черту из свойства каталога msbuild batching - PullRequest
12 голосов
/ 16 марта 2011

Я пытаюсь заставить exec задачу внутри скрипта msbuild работать и обнаружил очень раздражающую проблему.Команда exec приятна, за исключением того, что процесс, который я запускаю (Ncover.Console.exe), не может обработать обратную косую черту в конце имени каталога.

Чтобы проиллюстрировать это на примере фрагмента, работает следующее:

<exec command="NCover.Console.exe nunit-console.exe some.dll [snip] //w c:\out" />

Но это не удается (обратите внимание на косую черту в конце "c: \ out"):

<exec command="NCover.Console.exe nunit-console.exe some.dll [snip] //w c:\out\" />

Причина, по которой я не могу просто удалить завершающий обратный слеш,что значение читается с использованием пакетной обработки.Таким образом, в том же фрагменте, что и выше, он на самом деле выглядит следующим образом:

<exec command="NCover.Console.exe nunit-console.exe some.dll [snip] //w 
&quot;%(TestAssemblies.RootDir)%(TestAssemblies.Directory)&quot; />

Так что мой вопрос: как я могу удалить этот надоедливый трейлинг-слэш?вперед.

1 Ответ

18 голосов
/ 17 марта 2011

Если вы используете MSBuild 4.0, вы можете использовать функции свойств, указанные Амиром, например:

<PropertyGroup>
  <TestAssembliesDirectory>%(TestAssemblies.Directory)</TestAssembliesDirectory>
</PropertyGroup>
<exec command="NCover.Console.exe nunit-console.exe some.dll [snip] //w &quot;%(TestAssemblies.RootDir)$(TestAssembliesDirectory.TrimEnd('\'))&quot;" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...