0

我正在开发 WPF 应用程序,现在我的部分代码必须将内容添加到我的 app.config 文件中。

简单地说,我必须添加一个键值对作为特定元素的子元素,但是当我尝试添加它时,转义符号正在改变,我不知道为什么。

我给你举个例子:

我想补充:

<add key="MyKey" value="&lt;add name=&quot;{0}&quot; /&gt;_#ss_dsa">

在 appSettings 标记之后。当我手动执行它时,它可以工作,但是当我尝试通过代码隐藏添加它时,我正在这样做:

 var appPath=Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
 var appConfigFile = Path.Combine( appPath, "MyApp.exe" ); 
 var config= ConfigurationManager.OpenExeConfiguration(appConfigFile);

接着:

config.AppSettings.Settings.Add("Key","Value");

应该添加<add key="Key" value="Value">

到 app.config 并且它确实如此,但是当我通过这个时:

"&lt;add name=&quot;{0}&quot; /&gt;_#ss_dsa"

对于将其转换为的值:

"&amp;lt;add name=&amp;quot;{0}&amp;quot; /&amp;gt;_#ss_dsa"

在 app.config 文件中。我真的不知道为什么会发生这种情况以及如何解决它。如果有人可以提供建议,那就太好了。

4

1 回答 1

1

预期的值是未转义的。所以添加它未转义:尝试添加:

blah.Add("MyKey", @"<add name=""{0}"" />_#ss_dsa");

其中""中间是 C# 转义 - 这里的实际字符串是

<add name="{0}" />_#ss_dsa
于 2013-06-18T08:22:47.880 回答