如何在MSBuild项转换分隔符中包含单个引号?
我需要在项目转换中包含单个报价,如下所示:如何在MSBuild项转换分隔符中包含单个引号?,msbuild,Msbuild,我需要在项目转换中包含单个报价,如下所示: <DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '','')</DatabaseFileNames> <DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '','')</DatabaseFileNames> @(数据库文件->'%(Phys
<DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '','')</DatabaseFileNames>
<DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '','')</DatabaseFileNames>
@(数据库文件->'%(PhysicalName)、、”
然而,这引出了一个相当隐晦的错误:
错误MSB4095:项元数据无效
%(PhysicalName)正在被引用
没有项目名称。指定
通过使用
%(itemname.PhysicalName)
我基本上是想创建一个逗号分隔的单引号值列表
如何将单引号放入转换分隔符
我尝试使用HTML实体(单引号的实体是';),如下所示:
<DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '','')</DatabaseFileNames>
<DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '','')</DatabaseFileNames>
@(数据库文件->'%(物理名称)',';,';)
但是我得到了相同的错误。看起来您必须使用URL编码样式转义,即,%CharacterHexNumber。在这种情况下,单引号是ASCII字符39,十六进制为27,因此正确的转义序列为:
<DatabaseFileNames>@(DatabaseFiles->'%(PhysicalName)', '%27,%27')</DatabaseFileNames>
@(数据库文件->'%(物理名称)',%27,%27')