【发布时间】:2020-07-07 09:15:16
【问题描述】:
我有一个针对 .Net Core 3.0 的 Visual Studio Azure App Service 项目。当我将它部署到 Azure 时,我没有指定 Stack,Stack 最终是 .Net V4.7。
这篇文章提出了类似的问题:https://social.msdn.microsoft.com/Forums/en-US/a4040bf9-2ba0-42c6-a242-87febf7a5e6d/select-net-core-22-as-technology-stack?forum=windowsazurewebsitespreview 答案是“.NET Core SDK 32 位二进制文件通常包含在 Windows 应用服务中。因此,无需明确选择 .NET Core 作为版本”。换句话说:因为它是 Windows,所以无需指定 .Net Core 目标。这意味着因为它是 Windows,所以它可以正常工作。
这篇文章还提出了一个类似的问题:Azure webapp: Stack settings 答案是“在初始 Web 应用程序创建后,不再需要识别应用程序是 .NET Core 应用程序,因为 .NET Core 位已经安装在底层工作人员上”。这也意味着,因为它是 Windows,所以它可以正常工作。
两者似乎都与此 Microsoft 参考相矛盾:https://docs.microsoft.com/en-us/dotnet/standard/net-standard
据此,.Net Core 3.0 不兼容任何版本的 .Net Framework。更正式地说,.Net Standard 2.1 包含在 .Net Core 3.0 中,但没有 .Net 框架版本。然而,在 Azure 中,我的应用服务确实有效。
问题:它起作用的原因是因为虽然我已将 .Net Core 3.0 指定为 Visual Studio 中的目标,但我实际上并没有使用任何特定于 .Net Core 3.0 的代码,因此,我很幸运它有效? (IOW,如果我要做一些特定于 .Net Core 3.0 的事情,它会因为运行时堆栈不再支持而中断?)
【问题讨论】:
-
我也注意到了这一点。我认为问题只是 Azure UI 尚未更新以支持选择 Core,但实际后端完全支持 Core。
-
确实是的 - 我想知道这是 GUI 错误还是过时。如果在 GUI 中更改堆栈,不变的是: a) 部署 json; b) 'dotnet --info' 的输出和 c) web.config。因此,我想知道 GUI 选项实际上有什么不同。
-
我的猜测是该设置与核心应用程序无关,他们只是还没有弄清楚如何在 UI 中表示它。
-
我不这么认为。我已经测试了你描述的内容。并搜索相关文档,找到一个帖子告诉我,~~.Net 4.7 是.Net Framework 的新版本,它也支持.Net Standard 1.6,所以它可以与.Net Core 应用程序交互。~ ~
-
@Ian Kemp - 是的,这就是我的想法:如果它针对 Core 3.0,它将适用于所有平台,从而使 Stack 设置过时。
标签: .net .net-core azure-web-app-service