替换msbuild变量中的字符

替换msbuild变量中的字符,msbuild,msbuild-4.0,Msbuild,Msbuild 4.0,我需要替换传递给msbuild 4内exec任务的变量中的字符。具体地说,我需要在$(MSBuildProjectDirectory)变量中将所有出现的反斜杠\替换为正向斜杠/ 例如: 正在调用的可执行文件是无法处理windows格式的斜杠的oracle组件 我已经看过了,但是由于System.String.Replace()是一个实例方法而不是静态方法,它似乎不能满足我的需要 有什么想法吗?您还可以使用实例方法作为属性函数(只要您将自己限制为注册为安全的类型) $(MSBuildProj

我需要替换传递给msbuild 4内exec任务的变量中的字符。具体地说,我需要在
$(MSBuildProjectDirectory)
变量中将所有出现的反斜杠
\
替换为正向斜杠
/

例如:


正在调用的可执行文件是无法处理windows格式的斜杠的oracle组件

我已经看过了,但是由于
System.String.Replace()
是一个实例方法而不是静态方法,它似乎不能满足我的需要


有什么想法吗?

您还可以使用实例方法作为属性函数(只要您将自己限制为注册为安全的类型)


$(MSBuildProjectDirectory.Replace('\','/'))
(我可能错过了一些在斜线上逃跑的机会)

有关更多文档,请访问

<Target Name="DoStuff">
    <Exec Command="stuff.exe $(MSBuildProjectDirectoryWithSlashesFixed)/SomeFile.txt" />
</Target>
<PropertyGroup>
  <MSBuildProjectDirectoryWSF>$(MSBuildProjectDirectory.Replace('\', '/'))</MSBuildProjectDirectoryWSF>
</PropertyGroup>