IIS 错误,因为 ASPNETCORE_ENVIRONMENT 设置为开发但不是

IIS error because ASPNETCORE_ENVIRONMENT set to development but its not

ASP.Net Core 2.2 网络应用程序正在发布到 dev/test 服务器。 在我的发布配置文件中,我有这个

  <PropertyGroup>
    <EnvironmentName>Test</EnvironmentName>
  </PropertyGroup>

当我发布到目的地时,我查看了 web.config 文件,我看到了正确的环境设置。

name="ASPNETCORE_ENVIRONMENT" value="Test" 

但是,当我在浏览器中访问该网站时,出现提示环境变量已设置为 Development 的错误?

Error. An error occurred while processing your request.

Request ID: 0HLLKB82R933P:00000002 Development Mode

Swapping to the Development environment displays detailed information about the error that occurred.

The Development environment shouldn't be enabled for deployed applications. It can result in displaying sensitive information from exceptions to end users. For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development and restarting the app.

[更新]
如果我在项目设置中将 ASPNETCORE_ENVIRONMENT 值更改为 "Test",则在发布之前,该应用程序会按预期运行。正如之前的另一位评论者所建议的那样,这可能仅适用于 "in-process" 应用程序。所以我接下来会看那个。

您观察到的完全正常。

您的 Web 应用程序引发了未处理的异常,ASP.NET 核心运行时验证了环境。由于使用环境 "Test" 而不是 "Development",它会显示此页面来告诉您哪里出了问题。

如果您将环境修改为 Development,将会出现一个包含更多信息(调用堆栈等)的错误页面,以揭示实际情况。

要消除此类错误页面("Test" 或 "Development"),您需要修复代码以处理实际异常。