Azure 应用服务更新时,是否需要将 Web 应用更新为面向 .NET 4.8?

Is it required to update web apps to target .NET 4.8 when Azure App Services update?

此 post 询问 Azure 应用服务何时提供 4.8 支持:

一位评论者询问是否也必须更新您的应用程序,这是一个很好的问题。

Microsoft 电子邮件抨击了所有应用服务客户,因此他们似乎非常认真地对待此更新,但如果需要进行全面更新,则不会留太多时间(2020 年 7 月 14 日)。

问题是 -- 我们必须更新到 4.8 吗?

简而言之:强制,不;明智的,是的。

假设您的应用程序已经针对受支持的 .NET 版本(当前 >= 4.5.2),那么将您的应用程序重新定位到 4.8 不是强制性的。特别是如果您不打算利用任何新功能。见。NET docs:

4.x versions of the .NET Framework can be used to run applications built for the .NET Framework 4.0 through that version. For example, .NET Framework 4.7 can be used to run applications built for the .NET Framework 4.0 through 4.7. The latest version (the .NET Framework 4.8) can be used to run applications built with all versions of the .NET Framework starting with 4.0.

至少,您 可以 运行 在上线前在 4.8 上对您的应用 运行 进行一些回归测试。需要多少测试才能获得信心,以及破坏更改的可能性,很大程度上取决于您当前的目标版本。

然而,理想情况下,如果您能够为 4.8 重新定位、构建和部署,那么编译器甚至可以更早地捕获许多意外行为。请注意,有时会有一些更改需要更改代码,而且这种可能性在很大程度上取决于您目前的目标。

要了解您可能需要在代码中做什么工作:

还值得注意的是,运行在 4.8 上使用现有 4.x 应用程序而不进行重新定位时遇到问题的可能性较小,因为:

the .NET Framework uses quirked behavior to mimic the older targeted version. The app runs on the newer version but acts as if it's running on the older version. Many of the compatibility issues between versions of the .NET Framework are mitigated through this quirking model.

编辑:截至 2020 年 6 月 26 日,我不知道有任何计划在升级日期之前在 4.8 的应用服务中容纳测试应用 运行ning,这意味着您只能在本地 4.8。

如果 Visual Studio 2017 更新程序支持 4.8 就好了。 4.7.2 是支持的最新版本。在盲目地发送一封暗示紧急更新的批量电子邮件之前,微软应该让他们的鸭子排成一行!

正如本公告中 Azure 应用服务 blog 中所述 - “.NET Framework 4.8 更新是对应用服务的非破坏性就地升级。现有应用程序不需要更新。”

但是,如果您确实想要测试您的应用程序,或者如果您计划将来重新定位您的应用程序以明确要求 .NET Framework 4.8,我们更欢迎您这样做,但这不是必需的。

根据您的要求,如果 运行 您的应用程序以 4.6.1 作为目标没有问题,那么此时您不需要采取任何行动。我们的产品工程团队将定期更新此 announcement 和博客,以通知您部署进度。