.net core 3.0 ASPNETCORE_ENVIRONMENT对发布具有重要的开发价值

时间:2019-09-28 08:49:23

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

我试图在周末将asp.net core 2.2项目迁移到新发布的3.0。

今天在本地,一切看起来不错,但是在使用开发环境配置将其发布并部署到IIS之后,所遇到的问题很少。

我正在使用 Visual Studio社区版本: 16.3.0

检查后发现,web.config文件的 ASPNETCORE_ENVIRONMENT 值设置为“开发”,这是造成此问题的原因。它是在发布配置中通过Web发布生成的。

我认为这应该是正式版,还是我错过了任何配置?我从未在任何.net核心版本中遇到过该问题

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

有关此问题根本原因的任何解决方案或建议? 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>

1 个答案:

答案 0 :(得分:0)

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

<PropertyGroup>
    <EnvironmentName>Development</EnvironmentName>
</PropertyGroup>

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

请参阅How to set aspnetcore_environment in publish file?