如何在ASP .NET Core 2.0项目中为不同的发布配置文件使用不同的web.config文件

时间:2018-05-10 03:28:44

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

我为生产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。
  3. 我该如何自动化? pubxml中的<ExcludeFilesFromDeployment />属性不会禁止在部署后重命名文件。

1 个答案:

答案 0 :(得分:0)

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

但是,我会说.net Core有许多来自中间件的URL rewritingenforcing HTTPS redirects选项,允许您明确地打开当前环境。这些往往比依赖IIS更受欢迎。