gpt4 book ai didi

c# - 为什么 与 app.config 中的 不一样?

转载 作者:太空狗 更新时间:2023-10-29 20:38:46 25 4
gpt4 key购买 nike

谁能告诉我为什么 <clear></clear> 的技术原因在 app.config 与 <clear /> 中无效

通常这样使用:

<connectionStrings>
<clear/>
<add etc..... />
</connectionStrings>

问题是我正在使用安装程序产品 (InstallShield) 将 xml 转换为 app.config 文件,它正在更改 <clear /><clear></clear>

这会破坏应用程序(服务甚至不会启动)

现在我只是在寻找技术解释,但如果您有任何解决方法,那也很好。

最佳答案

似乎使用<clear></clear>打破了 connectionStrings 部分的解析(如果在那里使用的话,也可能还有其他部分)。有关可能的解释,请参阅 Hans Passant 的评论。

如果<clear></clear>存在,ConfigurationManager.ConnectionStrings是空的。因此,您服务崩溃的原因可能是您没有检查此集合是否包含任何元素或尝试通过 ConfigurationManager.ConnectionStrings["nameoftheconnection"] 访问它们如果不存在具有该键的元素,则抛出异常。

可能的解决方法(我管理的方法既笨拙又笨拙)

  1. 您删除了 <clear /> .这可能会导致某些引用的程序集创建一些额外的连接字符串。但由于您自己的连接字符串应该位于此集合的末尾,因此您可以删除不需要的条目。

  2. 您将自定义任务添加到您的安装例程中,该任务会在后续步骤之一中处理 app.config 文件并替换 <clear></clear><clear />

关于c# - 为什么 <clear></clear> 与 app.config 中的 <clear/> 不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com