我需要替换传递给msbuild 4中执行任务的变量中的字符。具体地说,我需要将$(MSBuildProjectDirectory)
变量中出现的所有反斜杠\
替换为正斜杠/
。
例如:
<Target Name="DoStuff">
<Exec Command="stuff.exe $(MSBuildProjectDirectoryWithSlashesFixed)/SomeFile.txt" />
</Target>
被调用的可执行文件是一个oracle组件,它不能处理windows格式的斜杠。
我看过Property Functions,但由于System.String.Replace()
是一个实例方法而不是静态方法,似乎不能满足我的需要。
有什么想法吗?
发布于 2011-06-24 19:19:36
您还可以将实例方法用作属性函数(只要您将自己限制为注册为安全的类型)。
<PropertyGroup>
<MSBuildProjectDirectoryWSF>$(MSBuildProjectDirectory.Replace('\', '/'))</MSBuildProjectDirectoryWSF>
</PropertyGroup>
(我可能错过了斜杠上的一些转义)。
在Visual Studio Blog上提供了更多文档。
https://stackoverflow.com/questions/6466848
复制相似问题