【问题标题】:.NET Core 3.0: ASPNETCORE_ENVIRONMENT has value Development on publish.NET Core 3.0:ASPNETCORE_ENVIRONMENT 在发布时具有开发价值
【发布时间】:2019-09-28 08:49:23
【问题描述】:

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

在本地环境中一切看起来都不错,但在发布并部署到 IIS 后,我遇到了一些问题,因为它使用的是开发环境配置

我正在使用 Visual Studio 2019 Community Edition 版本 16.3.0

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

我以为应该是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>

【问题讨论】:

  • 您是否检查过项目文件是否包含任何用于将环境变量添加到 web.config 的脚本?
  • 我也有同样的问题。在 2.2 中有效的在 3.1 中无效,因为在 web.config 中设置了 &lt;environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /&gt;。你找到解决方案了吗?
  • 解决了在.pubxml文件中使用环境变量的问题,见stackoverflow.com/a/64368721/1662459

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


【解决方案1】:

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

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

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

参考How to set aspnetcore_environment in publish file?

【讨论】:

  • 已检查,在这些位置不存在。我试图为 ASPNETCORE_ENVIRONMENT 注释掉该行,但该行在发布时再次自动添加
  • @Satyajit 查看我的回答。可能是这个原因。
【解决方案2】:

此页面的访问者可能对这个烦人的功能感兴趣。

Azure App Service - What modified my web.config?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 2020-04-04
    • 2020-02-08
    • 1970-01-01
    相关资源
    最近更新 更多