多环境如何处理多个web.config文件?我目前的处理方式是使用多个配置文件,例如:web.configweb.Prod.configweb.QA.configweb.Dev.config当项目部署到不同的环境时我只是使用正确的设置重命名相应的文件。有人对如何更好地处理这个问题有建议吗?编辑:以下是每个配置的一些更改:ScottGu有一篇关于此的文章。他建议的解决方案是使用Pre-build事件将正确的配置复制到位,具体取决于所选的构建配置。我还注意到SO上已经有类似的问题。转型似乎对此很有帮助。您可以用不同的规则替换某些部分。http://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx在VisualStudio中,我创建了xcopy构建事件并将所有配置文件存储在/config文件夹中。如果在构建配置后命名文件,则所有配置只需要一个事件:即用/config/web.$(Configuration).config覆盖web.config我最喜欢的解决方法是使用configSource属性。诚然,我只在一个元素()上使用它,但它确实提供了一种简单的方法来换入和换出web.config的不同部分(我在安装时通过WebSetup项目执行此操作)。我还使用web.DEV.config、web.TEST.config、web.PROD.config等。如果您的项目不复杂,我发现这是最简单、最简单、最直接的方法。我不喜欢让事情变得比必要的更复杂。但是,我使用过NAnt,我认为它适用于此。您可以为不同的环境设置构建。NAnt需要一些阅读才能了解如何使用它,但它非常灵活。http://aspnet.4guysfromrolla.com/articles/120104-1.aspxhttp://nant.sourceforge.net/我将它与CruiseControl.net和NUnit一起使用来进行单元测试验证的自动化每日构建,并认为它们可以工作好在一起。这实际上取决于导致您使用不同web.config文件的环境之间的差异。您能否提供更多信息,说明为什么每个环境目前都需要不同的环境?我们有一些解决方法(并非所有方法都是通过web.config完成的,但想法相同)我们在打包部署中包含多个配置文件。在安装过程中,我们指定要安装的环境。将所有特定于环境的设置迁移到该环境的数据库服务器。WebServer在请求服务器名称时提供其环境提供多个设置(每个环境1个)并使用代码请求不同的设置。2和3的组合(根据环境覆盖某些设置-例如应用程序服务器名称)对于大多数不同的版本管理软件(subversion,git等),您可以忽略特定文件。所以在颠覆中我有:configure.template.php-这个文件是版本化的并且包含模板化的配置数据,例如configure.php用于一个空的DSN-这个文件被忽略所以不跟踪它的变化。在颠覆中,这样做的方法是:svnpesvn:ignore。它将打开您的编辑器,然后键入configure.php保存,退出,检查您的更改,您就可以开始了。我们一直这样做的方式是覆盖AppSettings部分:...这仅适用于appSettings部分,因此仅在一定程度上适用。我对更强大的解决方案非常感兴趣。编辑刚刚在下面观看了这个:http://channel9.msdn.com/shows/10-4/10-4-Episode-10-Making-Web-Deployment-Easier/VS2010的配置转换看起来非常棒,应该使Multiple配置轻而易举。以上就是C#学习教程:多环境下多个web.config文件如何处理?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
