Заменить символы в переменной msbuild
Мне нужно заменить символы в переменной, которую я передаю в exec exec в msbuild 4. В частности, мне нужно заменить все вхождения обратных косых черт \
на прямые слэши /
в переменной $(MSBuildProjectDirectory)
.
например:
<Target Name="DoStuff">
<Exec Command="stuff.exe $(MSBuildProjectDirectoryWithSlashesFixed)/SomeFile.txt" />
</Target>
Вызываемый исполняемый файл является компонентом oracle, который не может обрабатывать косые черты в формате Windows.
Я просмотрел Property Functions, но поскольку System.String.Replace()
- это метод экземпляра, а не статический метод, кажется не может использоваться для моих нужд.
Любые идеи?
Ответы
Ответ 1
Вы также можете использовать методы экземпляра как функции свойств (пока вы ограничиваетесь типами, зарегистрированными как безопасные).
<PropertyGroup>
<MSBuildProjectDirectoryWSF>$(MSBuildProjectDirectory.Replace('\', '/'))</MSBuildProjectDirectoryWSF>
</PropertyGroup>
(Возможно, я пропустил некоторое экранирование на косых чертах).
Дополнительная документация доступна в Блог Visual Studio.