.NET Core 3.0:ASPNETCORE_ENVIRONMENT 在发布时具有开发价值

Sat*_*jit 5 visual-studio webdeploy asp.net-core asp.net-core-3.0

我试图在周末将我的 ASP.NET Core 2.2 项目迁移到新发布的 ASP.NET Core 3.0。

在本地环境中一切看起来都很好,但是在发布并部署到 IIS 之后,我在使用开发环境配置时遇到了一些问题。

我使用的Visual Studio 2019的Community Edition版本16.3.0

经过检查,我发现该web.config文件的ASPNETCORE_ENVIRONMENT值设置为Development,这导致了问题。即使在发布配置中,它也是通过网络发布生成的。

我以为它应该是Production?还是我错过了一些配置?我从未在任何早期版本的 .NET Core 中遇到过这个问题。

现在的问题是,如果我再次发布整个文件夹,问题很可能会再次出现。

有关问题根本原因的任何解决方案或建议?我的Web.config看起来如下:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <httpRuntime executionTimeout="180" />
  </system.web>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="dotnet" arguments=".\MyApp.dll" forwardWindowsAuthToken="false" stdoutLogEnabled="false" startupTimeLimit="3600" requestTimeout="23:00:00" hostingModel="InProcess" stdoutLogFile=".\logs\stdout">
      <environmentVariables>
        <environmentVariable name="ASPNETCORE_HTTPS_PORT" value="44329" />
        <environmentVariable name="COMPLUS_ForceENC" value="1" />
        <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
      </environmentVariables>
    </aspNetCore>
  </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Rya*_*yan 0

检查您的 csproj 文件并删除以下代码(如果存在)。

<PropertyGroup>
    <EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

另请检查 。这Properties/PublishProfiles/{profilename.pubxml}将在项目发布时在 web.config 中设置环境名称。

请参阅如何在发布文件中设置aspnetcore_environment?