C# 使用转义字符分析app.config中的字符串

C# 使用转义字符分析app.config中的字符串,c#,connection-string,sqlconnection,html-escape-characters,C#,Connection String,Sqlconnection,Html Escape Characters,这是一个非常愚蠢的问题,但我现在对此感到非常沮丧 我现在有一个app.config,用于存储SQL Server的用户凭据 所以用户名是reader,密码是abcdefg 当我现在尝试执行插入时,会出现以下异常: 初始化字符串的格式不符合从索引138开始的规范 当我将凭证更改为没有任何必须转义的特殊字符的用户时,它就像一个符咒 有人知道会是什么吗 在调试会话期间混搭的连接字符串是: Data Source=MACHINE\\SQLSERVER;Initial Catalog=DbName;Co

这是一个非常愚蠢的问题,但我现在对此感到非常沮丧

我现在有一个app.config,用于存储SQL Server的用户凭据

所以用户名是reader,密码是abcdefg

当我现在尝试执行插入时,会出现以下异常:

初始化字符串的格式不符合从索引138开始的规范

当我将凭证更改为没有任何必须转义的特殊字符的用户时,它就像一个符咒

有人知道会是什么吗

在调试会话期间混搭的连接字符串是:

Data Source=MACHINE\\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=\"abcdefg\"

您可以使用

因此连接字符串将如下所示:

  <connectionStrings>
    <add connectionString="Data Source=MACHINE\\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=&quot;abcdefg&quot;" name="CS"/>
  </connectionStrings>

您可以使用xml字符转义。例如,空格是 ; 你可以用这种方式转义任何字符。一般形式是 &#xhhh; 或 &#nnnn; 其中hhh为十六进制,nnnn为十进制


这里还列出了一些“快捷方式”:

我想这可能已经得到了回答@jonaglon:这就是我硬编码密码时所做的。但当我从app.config读取密码时,情况就不同了。我无法在配置中添加任何.NET转义字符,因为该值存储在引号内。然后app.config将无法读取能够的