.net 用web.config覆盖machine.config

.net 用web.config覆盖machine.config,.net,configuration,web-config,machine.config,.net,Configuration,Web Config,Machine.config,我最近决定将连接字符串移动到machine.config,因为这似乎是目前为止管理多个环境最优雅的方法。然而,如果需要的话(或者非开明群众开始抱怨),我仍然希望能够在我的本地web.config中覆盖这些设置 如何在web.config中覆盖machine.config中的设置,而不获取ConfigurationErrorsException,因为该值已被设置?如果您试图使用与machine.config中添加的连接字符串同名的本地web.config添加另一个连接字符串,则需要先将其删除。Co

我最近决定将连接字符串移动到machine.config,因为这似乎是目前为止管理多个环境最优雅的方法。然而,如果需要的话(或者非开明群众开始抱怨),我仍然希望能够在我的本地web.config中覆盖这些设置


如何在web.config中覆盖machine.config中的设置,而不获取
ConfigurationErrorsException
,因为该值已被设置?

如果您试图使用与machine.config中添加的连接字符串同名的本地web.config添加另一个连接字符串,则需要先将其删除。ConnectionString元素的工作方式类似于字典,您可以在添加替换字符串之前添加remove或clear标记。请查看详细信息。

好的,谢谢对我来说很有意义。基本上,它们被合并为应用程序的一个全局配置,因此我试图做的实际上是不可能的。如果你试图做的是不可能的,那么我一定误解了这个问题。如果内存可用,SQL Server Express会在machine.config中创建一个名为“Local Server”的连接字符串或其他内容,然后每个应用程序都可以使用该字符串,因为正如您所说,这些配置在运行时看起来是合并的。要覆盖SQL的连接字符串,可以在web.config中添加一个标记,然后添加新的配置。阅读文档时会有所帮助;)我现在明白了。谢谢,这太完美了。