为什么 与 app.config 中的 不同
本文关键字:clear 中的 不同 config app 为什么 | 更新日期: 2024-04-23 15:19:23
有人可以给我为什么<clear></clear>
在app.config与<clear />
中无效的技术原因
它通常像这样使用:
<connectionStrings>
<clear/>
<add etc..... />
</connectionStrings>
问题是我正在使用安装程序产品 (InstallShield(,并对 app.config 文件进行 xml 转换,并且它正在将<clear />
更改为<clear></clear>
这会破坏应用程序(服务甚至无法启动(
目前,我只是在寻找技术解释,但是如果您有任何解决方法,那也很好。
似乎使用
<clear></clear>
会破坏 connectionString 部分的解析(如果在那里使用,可能还会中断其他部分(。请参阅Hans Passant的评论以获取可能的解释。
如果存在<clear></clear>
则ConfigurationManager.ConnectionStrings
为空。因此,服务崩溃的原因可能是,您不检查此集合是否包含任何元素或尝试通过ConfigurationManager.ConnectionStrings["nameoftheconnection"]
访问它们,如果没有具有该键的元素,则会引发异常。
可能的解决方法(我管理的解决方法既笨拙又笨拙(
您删除
<clear />
。这可能会导致某些引用的程序集创建一些额外的连接字符串。但是,由于你自己的连接字符串应位于此集合的末尾,因此您可能能够删除不需要的条目。将自定义任务添加到安装例程中,该任务将在后续步骤之一中处理 app.config 文件,并将
<clear></clear>
替换为<clear />