。Net Core 3.x与.Net Framework 4.7的兼容性

问题描述 投票:0回答:1

我有一个针对.Net Core 3.0的Visual Studio Azure应用服务项目。当我将其部署到Azure时,如果没有指定堆栈,则堆栈以.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中,我的App Service实际上可以工作。

问题:之所以起作用,是因为尽管我已将.Net Core 3.0指定为Visual Studio中的目标,但实际上我不是using任何.Net Core 3.0特定的代码,因此,我已经真的很幸运吗? (爱荷华州,如果我要做某些特定于.Net Core 3.0的事情,它将因为运行时堆栈不再支持它而中断?)

.net .net-core azure-web-sites azure-web-app-service
1个回答
0
投票

之所以起作用,是因为Azure App Service与.NET Framework一起部署为Windows OS的一部分,并安装了.NET Core SDK和运行时。您可以创建基本的Windows应用服务计划,创建与该计划绑定的Web应用,然后在kudu控制台中运行dotnet --info。这与在本地Windows开发人员框中安装.NET Core SDK和运行时完全相同。此外,我们正在努力在Windows App Services上获得.NET 3.x SDK和运行时。如果需要这些二进制文件,则可以使用Azure Pipelines安装这些SDK。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.