msbuild msbuild-4.0

Reemplazar caracteres dentro de una variable msbuild



msbuild-4.0 (1)

Necesito reemplazar los caracteres en una variable que estoy pasando a una tarea ejecutiva en msbuild 4. Específicamente, necesito reemplazar todas las apariciones de barras diagonales / con barras diagonales / en la variable $(MSBuildProjectDirectory) .

p.ej:

<Target Name="DoStuff"> <Exec Command="stuff.exe $(MSBuildProjectDirectoryWithSlashesFixed)/SomeFile.txt" /> </Target>

El ejecutable al que se llama es un componente de Oracle que no puede tratar con barras diagonales en formato de Windows.

He echado un vistazo a las funciones de propiedad , pero como System.String.Replace() es un método de instancia en lugar de un método estático, parece que no puede usarse para mis necesidades.

¿Algunas ideas?


También puede usar los métodos de instancia como funciones de propiedad (siempre que se limite a tipos registrados como seguros).

<PropertyGroup> <MSBuildProjectDirectoryWSF>$(MSBuildProjectDirectory.Replace(''/', ''/''))</MSBuildProjectDirectoryWSF> </PropertyGroup>

(Es posible que me haya perdido algo de escapar en las barras).

Más documentación está disponible en Visual Studio Blog .