我已经使用 VS 2019 发布上传了一个 asp.net core 应用程序,并定位了该应用程序
netcoreapp2.2
。.NET
(不是.net core),版本为V4.7。
这提出了两个问题:
Azure 设置:
我通过更新 .sln 中的以下行解决了该问题 来自:
Visual Studio Version 16
VisualStudioVersion = 16.0.29613.14
致:
# Visual Studio Version 16
VisualStudioVersion = 16.0.30011.22
ASP.NET Core 2.x 可以针对 .NET Core 或 .NET Framework。面向 .NET Framework 的 ASP.NET Core 应用程序不是跨平台的,它们仅在 Windows 上运行。通常,ASP.NET Core 2.x 由 .NET 标准库组成。使用 .NET Standard 2.0 编写的库可以在任何实现 .NET Standard 2.0 的 .NET 平台上运行。
当您发布到 .NET Core 2.2 运行时应用程序时,您总是会收到以下警告消息:
"There was a problem starting MyProjectName on MyWebAppServiceName. Your application requires the .NET Core 2.2.0 runtime, but Microsoft Azure App Service only support the following versions:.
解决此问题的一种方法是在发布设置中将部署模式更改为
self-contained
,这将允许应用程序携带自己的运行时。”
参考这个类似的案例。
编辑:
当你在portal上创建webapp时,你可以去arm模板获取堆栈设置,设置为
CurrentStack: dotnetCore
。但是当你在VS上发布项目时,它可以网络设置运行时。
因此,这可能是 VS 问题,您可以提供反馈,或者您可以先在 Azure 上创建 webapp,将运行时设置为 .Net Core 并使用 VS 向其发布项目。