首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >针对不同场景配置web.config

针对不同场景配置web.config
EN

Stack Overflow用户
提问于 2012-06-14 23:06:54
回答 1查看 237关注 0票数 1

我有几个项目,我们有3-5个不同的web.config.xxx,应该满足不同的场景,开发人员计算机,构建服务器,测试服务器,生产服务器,生产内部,生产外部。xxx只是一个描述它所属环境的标记。

这些web.configs基本相同,连接字符串、集成点、邮件服务器等内容不同,但结构大同小异。因此,如果我在web.config中添加一个值,我必须将它写到几个文件中,如果我更改该值,我必须在解决方案中的所有web.configs中更改它。很容易认为我以后会这样做,我可能会更改名称,但我不确定这样做是否正确。因此,当我们谈到生产时,我们有时会错过价值,这是令人尴尬的。问题是,这是一个应该很容易消除的问题。

如何处理这种情况?我开始考虑“构建前事件”,它可以检查构建配置并进行一些简单的替换,如果我在调试中构建,请将{db}更改为DevDB。如果我为build-server构建,我可以有一个build-configuration,并为那个环境做适当的替换。

有没有更好的方式来处理这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-14 23:23:22

听起来你会从配置转换中受益。

在部署网站时,您通常希望部署的应用程序的Web.config文件中的某些设置与开发Web.config文件中的设置不同。例如,您可能希望禁用调试选项并更改连接字符串,以便它们指向不同的数据库。

下面的源代码说明了如何配置在部署期间自动应用的web.config转换文件,以便对web.config进行更改。

来源:How to: Transform Web.config When Deploying a Web Application Project

注意:此技术可以应用于任意数量的部署(登台、测试、生产、Foo、Bar等)。

通常,在项目中,您会有一个web.config文件。与此相关联的可能是web.production.config、web.staging.config等。每个web.*.config文件都是一个转换,其中包含一些用于修改web.config中各种值的语言,例如连接字符串。这些转换文件中的每一个都与一个部署选项相关联,您通常会在部署期间选择该选项( Visual Studio顶部的小下拉列表通常设置为“Debug”)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11036035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档