小编典典

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

all

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

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

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

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


阅读 58

收藏
2022-06-30

共1个答案

小编典典

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

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

  • Web.Debug.Config
  • Web.Release.Config

它们包含可用于

  • 更改连接字符串
  • 删除调试跟踪和设置
  • 注册错误页面

有关详细信息,请参阅MSDN 上的 Web 应用程序项目部署的 Web.config
转换语法。

尽管官方不支持,也可以将相同类型的转换应用于非 Web 应用程序app.config文件。请参阅Phil Bolduc
博客
,了解如何修改项目文件以向 msbuild 添加新任务。

这是对 Visual Studio Uservoice
的长期要求

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

2022-06-30