我有一个针对.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的事情,它将因为运行时堆栈不再支持它而中断?)