在开发和生产环境中使用不同的Web.config


春风助手
2025-02-05 02:16:09 (22天前)

我需要在ASP.NET应用程序中使用不同的数据库连接字符串和SMTP服务器地址,具体取决于它是在开发环境还是生产环境中运行的。

该应用程序通过WebConfigurationManager.AppSettings属性从Web.config文件读取设置。

我使用Build / Publish命令通过FTP将应用程序部署到生产服务器,然后用正确的手动替换远程Web.config。

是否有可能以某种方式简化部署过程?谢谢!

2 条回复
  1. 1# 只怕再见是故人 | 2020-08-24 14-26

    在Visual Studio 2010及更高版本中,您现在可以根据构建配置将转换应用于web.config。

    创建web.config时,可以在解决方案资源管理器中展开文件,然后将看到两个文件:

    Web.Debug.Config
    Web.Release.Config
    它们包含可用于

    更改连接字符串
    删除调试跟踪和设置
    注册错误页面
    有关更多信息,请参见MSDN上用于Web应用程序项目部署的Web.config转换语法。

    尽管没有官方的支持,也可以对非Web应用程序app.config文件进行相同的转换。有关如何修改项目文件以向msbuild添加新任务的信息,请参见Phil Bolduc博客。http://philbolduc.blogspot.com/2010/03/using-config-transforms-outside-web.html

    这是对Visual Studio Uservoice的长期要求。https://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2043217-support-web-config-style-transforms-on-any-file-in

    Visual Studio 2010及更高版本的扩展 “ SlowCheetah ”可用于为任何配置文件创建转换。从Visual Studio 2017.3开始,SlowCheetah已集成到IDE中,并且代码库由Microsoft管理。此新版本还支持JSON转换。

登录 后才能参与评论