我是使用令牌文件的新手,我让自己有点泡菜。
我的令牌文件如下所示:
<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
文档中:
<小时 />如何在结果字符串中包含文字大括号(
"{"
和"}"
)?单个左大括号或右大括号始终被解释为格式项的开头或结尾。要从字面上解释,必须对其进行转义。您可以通过添加另一个大括号来转义大括号(
"{{"
和"}}"
而不是"{"
和"}"
),
通常,加倍或反斜杠转义是处理具有特殊含义的字符的最流行的技术。因此,当遇到未知格式时,请尝试这两种格式,您很有可能其中一种有效。