visual-studio - .NET 核心 3.0 : ASPNETCORE_ENVIRONMENT has value Development on publish

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

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

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

我正在使用 Visual Studio 2019 社区版 版本 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>

最佳答案

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

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

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

引用 How to set aspnetcore_environment in publish file?

关于visual-studio - .NET 核心 3.0 : ASPNETCORE_ENVIRONMENT has value Development on publish,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58144767/

相关文章:

azure - 如何使用 MSDeploy 扩展将包部署到 Azure Web App? (HTTP header 之一的值格式不正确)

windows - 什么是子类化和 API Hook ?

c# - 展望 : How to get email from Recipient field?

c++ - 设置全局指针

asp.net-core - ASP.NET Core 3.0 中的本地化

asp.net-core - asp-route-id 不传递参数值

c# - 如何获取 CookieRequestCultureProvider 中使用的 CookieName?

asp.net - Web 部署安装程序 (MSI) 中没有 'IIS 7 Deployment Handler'

c# - 使用 asp.net 和 c# 验证服务器端

c# - 网络部署 deploymentskiprule