使用 MSBuild 的 XmlPoke 更新特定 element attribute 的值,卻拋出 exception:
error MSB4094: "..." is an invalid value for the "Value" parameter of the "XmlPoke" task. Multiple items cannot be passed into a parameter of type "Microsoft.Build.Framework.ITaskItem"
研究後發現,原來是我要更新的內容包含分號 ( ; ),必須將分號跳脫成
%3B 即可
Example:
<Compile Include="MyFile.cs;MyClass.cs"/>
↓↓↓↓↓
<Compile Include="MyFile.cs%3BMyClass.cs"/>