【问题标题】:Why aspnet core environment are different from project configurations?为什么aspnet核心环境与项目配置不同?
【发布时间】:2019-12-12 22:51:35
【问题描述】:

我不明白为什么aspnet core environments 与默认的visual studio configurations 不同。

第一个具有默认值,例如 DevelopmentStagingProduction 和影响 Startupappsettings.json

后者有DebugRelease,并确定默认构建文件夹和xml文档。

在 aspnet 核心解决方案中将它们分开是错误的吗?我应该更改项目配置以匹配 aspnet 核心吗?

【问题讨论】:

  • 构建配置用于构建,例如附加调试 pdb 文件。 ASP NET Core 环境用于运行时,因此在控制台中为每个请求等进行大量调试
  • 仍然可能会出现许多不协调的情况,例如,在开发环境中构建与配置相关的自动 xml 文档时,因为我希望生成开放的 api 文档。或者更糟糕的是,当我期望对发布配置进行一些优化,但它与生产环境完全无关。

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


【解决方案1】:

Visual Studio 配置用于告诉 MSBuild 如何构建项目 - 大多只是在打开或关闭调试的情况下进行编译,但也可以是其他东西。

Asp.NET Core 环境用于更改应用程序在构建和部署(或调试)后运行的行为。您可以使用它通过检查环境值来更改代码中的行为。此外,appsettings 是根据环境添加的。 Appsettings.json 总是被加载。如果环境是开发环境,appsettings.develop.json 会在之后加载,最后加载的设置会覆盖(或添加)appsettings.json 中的设置。所以通常你只需使用这个环境变量来为每个环境提供应用程序设置。

【讨论】:

  • 正如我在问题评论中所写的,如果您合并这些运行时间和构建时间开关,一些最常见的场景是相等的:xml 生成和优化是我使用的两个示例。如果您只考虑 aspnet 核心,它看起来更像是过去的,而不是默认情况下真正有用的东西。基本上,如果您考虑使用像 slowcheetah 这样的工具,Visual Studio 配置甚至可能是有害的,这是一种基于配置而不是环境创建 appsettings.json 的工具。
猜你喜欢
  • 2017-01-10
  • 1970-01-01
  • 2010-10-07
  • 1970-01-01
  • 2019-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多