【发布时间】: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 中设置了
<environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />。你找到解决方案了吗? -
解决了在
.pubxml文件中使用环境变量的问题,见stackoverflow.com/a/64368721/1662459
标签: visual-studio asp.net-core webdeploy asp.net-core-3.0