1

我正在尝试在 Postbuild 中执行一个使用美元符号的命令。我在这里尝试了所有的解决方案,但没有一个工作。

echo "$(runtime.testbin)"

当我尝试构建时尝试这样做会引发异常,我尝试使用以下方法进行转义:

echo "%24(runtime.testbin)"

但这打印:

1> "4(runtime.testbin)"

我也试过:

echo "%2524(runtime.testbin)"

打印:

1> "524(runtime.testbin)"

4

2 回答 2

3

您可能需要对美元符号和以下括号进行编码(不一定是右括号,但我个人认为仅对其中一个进行编码看起来很难看):

<PropertyGroup>
  <PostBuildEvent>echo "%24%28hello%29"</PostBuildEvent>
</PropertyGroup>
于 2019-05-21T20:11:39.150 回答
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)=>$:(运行时.testbin)

更新: 马丁的回答就像一个魅力!实际上对文件进行简单的编码就可以完成echo "%24(runtime.testbin)"工作。

于 2019-05-22T07:06:23.700 回答