我正在尝试在Postbuild中执行使用美元符号的命令。我已经尝试了所有解决方案here,但都无济于事。
echo "$(runtime.testbin)"
尝试执行此操作会在我尝试构建时抛出异常,并尝试使用以下命令转义:
echo "%24(runtime.testbin)"
但这会打印:
1> "4(runtime.testbin)"
我也尝试过:
echo "%2524(runtime.testbin)"
打印:
1> "524(runtime.testbin)"
答案 0 :(得分:2)
您可能需要对美元符号和后面的括号进行编码(不一定要用右括号,但我个人认为仅对其中之一进行编码就很难看):
<PropertyGroup>
<PostBuildEvent>echo "%24%28hello%29"</PostBuildEvent>
</PropertyGroup>
答案 1 :(得分:0)
您的命令是否必须类似于:$(runtime.testbin)
?
在msbuild中,格式$(xxx)
将被识别为Msbuild Property的值。
也许您可以尝试:
echo $ (runtime.testbin)
=> $(runtime.testbin)
echo "$ (runtime.testbin)"
=>“ $(runtime.testbin)”
echo $ runtime.testbin
=> $ runtime.testbin
echo $:(runtime.testbin)
=> $ :( runtime.testbin)
更新:
马丁的答案就像魅力!实际上,对文件进行简单的编码可以使echo "%24(runtime.testbin)"
正常工作。