发布时web.config连接字符串更改

Ale*_*tna 7 c# xml asp.net visual-studio webdeploy

我的web.config中有一个连接字符串,其中包含%字符的密码,如下所示

<add name="ConnectionName" 
providerName="System.Data.SqlClient" 
connectionString="server=ServerName;database=DatabaseName;
uid=UserName;password=abcde%F9abcd;" />
Run Code Online (Sandbox Code Playgroud)

在VS2013中本地连接字符串工作正常,但是当通过VS2013和Web Deploy发布到IIS8 Web服务器时,该进程中的某些操作XML并将字符串的密码部分更改为以下内容

password=abcdeùabcd
Run Code Online (Sandbox Code Playgroud)

所以它正在转变%F9ù(unicode转换).

我已经尝试编码&#25;不能解决问题的%.

我可以通过某种方式逃避或配置设置解决问题吗?不幸的是,我无法控制更改密码本身,它由第三方提供.

小智 2

在发布时,.NET 假定您已将编码值放入设置中,并且在发布过程中,它会对这些值进行解码,从而导致问题。因此,连接字符串的编码值为“abcde%25F9abcd”。在 web.config 中使用此值,或者将其单独放置在“发布”对话框的“设置”选项卡中,就像我在链接图像中所做的那样。这解决了这个问题。

希望对你有帮助。

发布网站 - 设置选项卡