如何在MSBuild项目转换分隔符中包含单引号?

时间:2009-12-10 17:58:18

标签: msbuild

我需要在项目转换中包含单引号,如下所示:

<DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '','')</DatabaseFileNames>
然而,这会产生一个相当神秘的错误:

  

错误MSB4095:项目元数据   正在引用%(PhysicalName)   没有项目名称。指定   项目名称使用   %(itemname。PhysicalName)。

我基本上是在尝试创建一个以逗号分隔的单引号值列表。

如何将单引号引入转换分隔符?

我尝试使用HTML实体(单引号的实体是&amp;#39;),如下所示:

<DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '&#39;,&#39;')</DatabaseFileNames>

但我得到同样的错误。

1 个答案:

答案 0 :(得分:5)

看起来您必须使用URL编码样式转义符,即%CharacterHexNumber。在这种情况下,单引号是ASCII字符39,其为十六进制为27,因此正确的转义序列为:

<DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '%27,%27')</DatabaseFileNames>