我有一个使用Asp.Net Core 1.1开发的小型Web应用程序,部署在Azure上运行良好。我刚刚把项目迁移到使用Asp.Net Core 2.0,并试图在Azure上进行部署。部署过程顺利,但当我打开站点时,出现502.5错误。当我检查Azure日志流时,我得到以下错误:
当CGI应用程序未返回有效的HTTP标头集或代理或网关无法将请求发送到父代理时,会发生此错误。如果不是CGI问题,则可能需要获取网络跟踪或联系代理服务器管理员。
毫无疑问,在我的开发机器上,使用相同的代码可以正常工作。请注意,我还使用了Entity Framework Core 2.0,尽管我在Azure上禁用了数据库创建(以检查它是否是原因)。
值得一提的是,我从1.1迁移到2.0的方式是通过将目标框架设置更改为"netcoreapp2.0"并使用NuGet包"Microsoft.AspNetCore.All"。为了确保,我还删除了我的发布配置文件并重新创建了一个。
Asp.Net Core 2.0在Azure上尚未可用吗?由于我对Asp.Net Core比较新,所以我不知道Azure何时提供新版本。
编辑
当我尝试像nate mcmaster建议的那样通过调试控制台使用dot net CLI运行我的应用程序时,出现了以下问题:
未经处理的异常:System.IO.FileLoadException:无法加载文件或程序集'Microsoft.AspNetCore.Hosting.Abstractions,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = adb9793829ddae60'。该定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)
我将DLL下载到我的桌面,并使用Dot Net Peak检查了版本,确实是1.1.2,尽管我是使用Visual Studio创建项目并直接发布的,那么问题是出在Visual Studio上还是Nuget上呢?