有人可以告诉我app.config与<clear></clear>
<clear />
无效的技术原因
它通常像这样使用:
<connectionStrings>
<clear/>
<add etc..... />
</connectionStrings>
问题是我正在使用安装程序产品(InstallShield)对xtat转换为app.config文件,并且它正在将<clear />
更改为<clear></clear>
这会破坏应用程序(服务甚至不会启动)
目前我只是在寻找技术解释,但是如果你有任何解决方法也会很好。
答案 0 :(得分:1)
似乎使用<clear></clear>
会破坏connectionStrings部分的解析(如果在那里使用的话,也可能会破坏其他部分)。请参阅Hans Passant的评论以获得可能的解释。
如果存在ConfigurationManager.ConnectionStrings
,则ConfigurationManager.ConnectionStrings["nameoftheconnection"]
为空。因此,服务崩溃的原因可能是,您不检查此集合是否包含任何元素,或者尝试通过<clear />
访问它们,如果没有该元素的元素,则会引发异常。
可能的解决方法(我管理员都非常笨拙和hacky)
您删除了<clear></clear>
。这可能会导致某些引用的程序集创建一些额外的连接字符串。但是,由于您自己的连接字符串应位于此集合的末尾,因此您可以删除不需要的条目。
您可以在安装例程中添加自定义任务,该例程会在后续步骤之一中处理app.config文件,并将<clear />
替换为git@vger.kernel.org