我有一個GNU makefile
,我正在翻譯爲MSBuild
。msbuild - sed命令錯誤 - 如何包含單引號和雙引號
有包含與該是應該關閉Command
屬性Exec
任務的單引號干擾sed
不會在MSBuild
運行,因爲它包含了'
(單引號)命令:
<Target Name="prebuild_cat">
<Exec
EchoOff="true"
StandardOutputImportance="low"
StandardErrorImportance="low"
IgnoreExitCode="true"
ConsoleToMSBuild="true"
Command=' $(GnuSed) 's/^Q(.*)/"&"/'
'>
</Exec>
</Target>
當我運行這個,Visual Studio說
錯誤MSB4025:該項目文件無法加載。 's'是一個意想不到的標記。期待空白。行244,位置25.
當我更換'
與'
和"
與"
<Target Name="prebuild_cat">
<Exec
EchoOff="true"
StandardOutputImportance="low"
StandardErrorImportance="low"
IgnoreExitCode="true"
ConsoleToMSBuild="true"
Command=' $(GnuSed) 's/^Q(.*)/"&"/'
'>
</Exec>
</Target>
錯誤MSB4025:項目文件無法加載。解析EntityName時發生錯誤。
此問題的任何更新?你解決了這個問題嗎?如果沒有,請讓我知道這個問題的最新狀態。 –
@ Leo-MSFT我選擇了一個答案:我的問題是我忘記用'&' – Adrian