【发布时间】:2011-03-16 06:55:57
【问题描述】:
我正在尝试让 msbuild 脚本中的 exec 任务正常工作,但发现了一个非常烦人的问题。除了我正在运行的进程 (Ncover.Console.exe) 无法处理目录名称末尾的反斜杠之外,exec 命令很不错。
为了举例说明,以下工作:
<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
"%(TestAssemblies.RootDir)%(TestAssemblies.Directory)" />
所以我的问题是如何删除这个讨厌的尾随反斜杠?
提前致谢。
【问题讨论】:
-
您可以使用批处理,但仍然可以使用转换或属性函数删除反斜杠。你有什么特别的理由不想使用这些吗?
-
嗨,阿米尔。您能否演示一下在我的情况下如何使用转换或属性函数?请使用回复按钮,以便我将答案归功于您,您的回复会出现在搜索结果中。谢谢。
-
在 Danere 的回答中,您可以看到如何使用 property functions 执行此操作的示例。 (transforms 可能无法实现,因为您只能在此处添加字符)
标签: msbuild