我是使用令牌文件的新手,而且我已经陷入了一些困境。
我的令牌文件如下所示:
<tokens>
<token name="URL.GETFILE" value="http://someserver.mycompany.com/virtual.directory/GetFile.aspx?file_id={0}" />
</tokens>
我的web.config篇:
<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}
是否会以某种方式干扰转换?如果是这样,转换如何忽略它呢?
感谢您的时间
答案 0 :(得分:1)
对于string.Format
,您使用双括号{{
和}}
来编码文字{
,}
。我不熟悉那个特定的API /格式,但似乎有相同的行为。
来自string.Format
文档:
如何在结果字符串中加入文字大括号(
"{"
和"}"
)?单个开始或结束括号始终被解释为格式项的开头或结尾。要按字面解释,必须将其转义。通过添加另一个大括号(
"{{"
和"}}"
而不是"{"
和"}"
)来逃避大括号,
通常,加倍或反斜杠转义是处理具有特殊含义的字符的最流行的技术。因此,当遇到未知格式时,请尝试这两种格式,并且您很有可能其中一种格式有效。