【发布时间】:2020-02-14 00:10:22
【问题描述】:
我们将众多 ASP.Net Core 2.2 应用程序之一迁移到 .NET Core 3.0。该应用程序在开发人员机器上运行良好。
当我在生产服务器 (IIS) 上运行它时,我不断收到 HTTP 错误 500.30。我试图打开标准输出日志以获取更多信息,但它只创建一个没有任何日志文件的空文件夹。事件日志中也没有关于任何错误的有用信息。
但是,当我在 OutOfProcess 中运行该应用程序时,它在 IIS 上运行良好。由于我们的应用程序相当大且难以追踪任何错误,因此我创建了一个默认的 MVC Web 应用程序,无需身份验证。 我在同一个 IIS 服务器上部署了这个应用程序,我得到了完全相同的行为 - 它运行 OutOfProcess 但因 InProcess 失败。
有没有人建议解决这个问题?我还在 github 上找到了几个条目,但没有帮助。
编辑 - 附加信息
我在 VS2019 中创建了一个文件夹发布配置文件,包含 Release 配置、目标框架 netcoreapp3.0、deploymentMode: Framework-Dependent 和 TargetRuntime: win-x86。
在 IIS 上,我安装了 ASP.NET Core/.NET Core: Runtime & Hosting Bundle。
【问题讨论】:
-
如果没有更多信息,我们真的无能为力。您可以尝试在生产环境中启用详细的异常页面,以尝试从错误中获取更多详细信息。
-
应用程序池是如何配置的?在您的情况下,它必须是 32 位。 应用的架构(位数)和安装的运行时(x64 或 x86)必须与应用池的架构相匹配 docs.microsoft.com/en-us/aspnet/core/host-and-deploy/…
-
@alexm 我刚刚浏览了微软的文档并找到了那个标志。启用它,它的工作原理!但为什么它可以与具有相同应用程序池和 x86 的核心 2.2 一起使用?
-
@Skuami 你能分享文档的链接吗?或者如果您可以用完整的步骤回答您自己的问题,那就更好了。我也处于完全相同的情况。应用程序池应该始终是 32 位还是 win-x64 也可以?
标签: c# asp.net-core-3.0