【问题标题】:How to use different web.config file for different publish profiles in ASP .NET Core 2.0 project如何在 ASP .NET Core 2.0 项目中为不同的发布配置文件使用不同的 web.config 文件
【发布时间】:2018-10-20 06:14:41
【问题描述】:

我为生产 IIS 应用程序池配置了 URL 重写规则,这些规则在开发 IIS 应用程序池中不起作用(特别是 HTTP 到 HTTPS 重定向)。

我有什么:

  • web.production.config 用于生产
  • web.config(用于开发和本地 IIS Express)
  • 两个发布配置文件(开发和生产)。

我需要什么:

  • web.production.config 将与生产发布配置文件一起发布。
  • web.config 将与开发发布配置文件一起发布,并由本地 IIS express 用于本地调试。

我目前在做什么:

  1. 禁止发布这两个文件。
  2. 部署后手动复制web.production.config文件,在服务器上重命名为web.config。

如何实现自动化? pubxml 中的<ExcludeFilesFromDeployment /> 属性不会抑制部署后重命名文件的需要。

【问题讨论】:

    标签: visual-studio asp.net-core .net-core


    【解决方案1】:

    如果您想使用 web.config/IIS 来实现重定向等,那么我建议您使用 Web Config Transforms。有关如何为每个环境添加转换的帮助,请参阅 this post。 Web 配置转换易于创建/维护,并且作为发布过程的一部分自动进行。

    但是,我想说的是,对于 .net Core,中间件有很多 URL rewritingenforcing HTTPS redirects 选项,它们允许您显式地打开当前环境。这些往往比依赖 IIS 更受欢迎。

    【讨论】:

    • 我切换到 ASP.Net Core 重写中间件,去除了对 IIS 的依赖。谢谢!
    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 2012-02-02
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多