gpt4 book ai didi

azure - Azure 上的 Asp.Net Core 2.0 结果为 502.5

转载 作者:行者123 更新时间:2023-12-03 08:48:14 24 4
gpt4 key购买 nike

我有一个使用 Asp.Net Core 1.1 开发的小型 Web 应用程序,部署在 Azure 上,并且运行良好。我刚刚将项目迁移到使用 Asp.Net Core 2.0 并尝试将其部署在 Azure 上。部署进展顺利,但当我打开网站时,出现 502.5 错误。当我检查 Azure 日志流时,出现以下错误:

This error occurs when a CGI application does not return a valid set of HTTP headers, or when a proxy or gateway was unable to send the request to a parent gateway. You may need to get a network trace or contact the proxy server administrator, if it is not a CGI problem.

不用说,它在我的开发机器上使用相同的代码运行良好。请注意,尽管我在 Azure 上停用了数据库创建(以检查这是否不是原因),但我也在使用 Entity Framework Core 2.0。

仅供引用,我从 1.1 迁移到 2.0 的方法是将目标框架设置更改为“netcoreapp2.0”并使用 NuGet 包“Microsoft.AspNetCore.All”。为了确定起见,我还删除了我的发布配置文件并重新创建了一个。

Asp.Net Core 2.0 是否可能尚未在 Azure 上可用?我对 Asp.Net Core 还很陌生,所以我不知道 Azure 何时发布新版本。

编辑

当我尝试按照 natemcmaster 的建议通过调试控制台使用 dot net CLI 运行我的应用程序时,出现以下问题:

Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.AspNetCore.Hosting.Abstractions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

我在桌面上下载了DLL,并用Dot Net Peak检查了版本,确实,DLL是1.1.2,虽然我是用Visual Studio创建了项目并直接发布的,所以这是Visual Studio的问题吗?还是努 git ?

最佳答案

问题实际上来自这样一个事实:首先,我的 Web 应用程序使用 .net core 1.1,它将所有 DLL 部署在 Web 应用程序的“wwwroot”文件夹中。然而,在 ASP.NET Core 2.0 中,它不再这样做,因为 DLL 是从全局存储中获取的。但是,由于 Visual Studio 在发布之前不会清理目标文件夹,因此我最终遇到了 1.1 DLL 位于我的 wwwroot 中的情况,因此网站在存储文件夹中选取了这些文件,而不是 2.0 DLL。

这里有更详细的解释:https://github.com/Azure/app-service-announcements-discussions/issues/2#issuecomment-313816550

关于azure - Azure 上的 Asp.Net Core 2.0 结果为 502.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44550096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com