如何在令牌文件中转义{0}



我是使用令牌文件的新手,我让自己有点泡菜。

我的令牌文件如下所示:

<tokens>
       <token name="URL.GETFILE" value="http://someserver.mycompany.com/virtual.directory/GetFile.aspx?file_id={0}" />
</tokens>

我的网络配置部分:

<configuration>
    ....
    <applicationSettings>
       <MyProject.My.Settings>
           <setting name="GetFileUrl" serializeAs="String">
               <value>http://somedvlpserver.mycompany.com/virtual.directory/GetFile.aspx?file_id={0}     </value>
           </setting>
       </MyProject.My.Settings>
    </applicationSettings>
</configuration>

我的转换文件:

  <setting name="GetFileUrl" serializeAs="String" xdt:Locator="Match(name)">
    <value xdt:Transform="Replace">{URL.GETFILE}</value>
  </setting>

在构建解决方案时,我收到错误:

No value or default value found for token '0'

令牌文件中的{0}会以某种方式干扰转换吗?如果是这样,如何使转换忽略它?

谢谢你的时间

对于string.Format,您使用双大括号、{{}} 来编码文字{}。我不熟悉该特定的 API/格式,但它似乎具有相同的行为。

string.Format文档中:

如何在结果字符串中包含文字大括号("{""}")?

单个左大括号或右大括号始终被解释为格式项的开头或结尾。要从字面上解释,必须对其进行转义。您可以通过添加另一个大括号来转义大括号("{{""}}"而不是"{""}"),

<小时 />

通常,加倍或反斜杠转义是处理具有特殊含义的字符的最流行的技术。因此,当遇到未知格式时,请尝试这两种格式,您很有可能其中一种有效。

最新更新