基于Duplicate Connection String Error问题,我在添加connectionstring之前添加了remove
标记。这解决了原问题的问题。
但是,当我为web.config文件应用RSA加密时(使用aspnet_regiis),错误又回来了。
分析器错误消息:已添加条目'theConnectionString'。
我认为,加密后,它不会调用'remove'语句。是这样吗?针对此问题的任何解决方法?
原始Connectionstring
<connectionStrings>
<remove name="theConnectionString" />
<add name="theConnectionString" ... />
<connectionStrings>
加密配置
答案 0 :(得分:2)
使用Clear
代替Remove
作为连接字符串部分中的第一个语句,我可以解决问题。
注意:即使我手动解密配置文件后,Clear
也会保留。但加密 - 解密后不保留Remove
。 [感谢@Oded给予评论以检查此内容]
参考Connection Strings and Configuration Files
machine.config文件还包含一个connectionStrings部分,其中包含Visual Studio使用的连接字符串。从Windows应用程序中的app.config文件中按提供程序名称检索连接字符串时,首先加载machine.config中的连接字符串,然后加载app.config中的条目。在connectionStrings元素从内存中的数据结构中删除所有继承的引用之后立即添加清除,以便仅考虑在本地app.config文件中定义的连接字符串。