【发布时间】:2019-07-28 10:01:19
【问题描述】:
我正在运行一个自定义 EntityFrameworkCore 版本,它具有一些我需要的附加功能。自 2019 年 7 月 25 日星期四以来,我在 4 个应用程序服务计划中的 3 个收到 MissingMethodException:开发、阶段和生产。测试、阶段和生产环境是同步的,并且包含完全相同的代码。因此,测试环境仍然有效是非常奇怪的。我还在 Azure Devops 管道中设置了集成测试。管道执行以下任务:使用 dotnet、dotnet restore、dotnet build、dotnet test、dotnet publish。并且所有测试都成功了。相同的请求仅在应用服务上不起作用。
- 此后未对测试、阶段和生产环境进行任何发布 2019 年 6 月 28 日。
- 测试环境代码与stage一致,生产环境正常运行。
- 直到 2019 年 7 月 25 日,它才停止在开发、舞台和生产方面工作。在此之前:一切都很好。
- 端到端集成测试都在使用 Azure Devops 管道的本地构建服务器上成功。
- 这是陈词滥调,但它在本地有效。
这很可怕,一个正常运行一个月的东西突然在一夜之间完全停止运行。代码没有任何变化。
我读到 MissingMethodException 指向 DLL 问题 (System.MissingMethodException: Method not found?)。 MissingMethodException 发生在自定义代码中,因此 DLL 问题似乎是合乎逻辑的,但我无法弄清楚为什么一切仍然在测试环境中工作以及为什么它之前工作!如何正确诊断?
- netcoreapp2.2
- .NET SDK 2.2.105
- Microsoft.AspNetCore.App 2.2.0(隐式)
- Microsoft.AspNetCore.Mvc 2.2.0
- 自定义 EntityFrameworkCore 基于EntityFrameworkCore-release-2.2 branch
【问题讨论】:
-
Core、EF 和 ASP.NET 的哪个版本?你在哪里使用 3.0/preview?
-
@HenkHolterman 感谢您的回复,希望我添加了您想要的信息。
-
是的,这很有用。也许您可以使用 Kudu 来检查服务器上安装的内容,密切关注所涉及的 DLL 的时间戳。这是相当可疑的,因为 Core3/preview7 是在那天左右推出的。
-
作为一种解决方法,首先更新/整合最新的 2.2 包。然后将其部署到登台。其他选择是独立部署。
-
但值得在 GitHub EF 或 Azure 上打开一个问题。当您可以确定您的“自定义 EF”没有问题时。
标签: c# azure azure-web-app-service