【问题标题】:Azure web app with .NET Core 3.0 fails: Can't find Microsoft.AspNetCore.App带有 .NET Core 3.0 的 Azure Web 应用程序失败:找不到 Microsoft.AspNetCore.App
【发布时间】:2020-04-11 08:20:01
【问题描述】:

我们在升级到 .NET Core 3.0 后尝试部署我们的 Web 应用程序,但它不断收到“服务不可用”消息。如果我们尝试从 Kudu (dotnet webapp.dll) 运行 dotnet,我们会收到以下错误:

It was not possible to find any compatible framework version
The specified framework 'Microsoft.AspNetCore.App', version '3.0.0' was not found.
  - The following frameworks were found:
      2.1.10 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.1.12 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.1.13 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.2.5 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.2.6 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
      2.2.7 at [D:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]

You can resolve the problem by installing the specified framework and/or SDK.

The .NET Core frameworks can be found at:
  - https://aka.ms/dotnet-download

我们尝试使用Microsoft's guide for Azure 安装 .NET Core 3.0,但没有成功。

有什么建议吗?

【问题讨论】:

  • 当您说您尝试安装 .net core 3.0 但没有成功时,您的意思是您能够安装扩展程序但它没有解决问题吗?我们正在使用上面提供的指南在 azure 中运行 .net core 3.0 Web 应用程序。我们必须做下面提到的@David_D(创建一个 SCD),但仅限于我们的网络工作。
  • 现在支持 ASP.NET Core 3.0。

标签: azure asp.net-core asp.net-core-3.0


【解决方案1】:

我们遇到了完全相同的问题。 Azure 应用服务目前不支持 Net Core 3。

临时解决方法是通过发布工具从 Visual Studio 构建一个自包含的应用程序。您可以在发布设置中将其从依赖框架更改为自包含。只需将其部署到 Azure。

我们也尝试使用我们的 DevOps 管道来执行此操作,但不知道如何进行自包含构建,并且由于 Azure 有望很快支持 Net Core 3,因此目前发布工作正常。

希望有帮助:)

【讨论】:

  • 这个答案不再正确,可以通过应用服务的扩展添加3.0。
  • 正如其他人所指出的,这不再是问题,因为 Azure App Service 现在支持 .Net Core 3,DevOps Pipelines 也是如此。
  • 虽然它说它在 azure 门户上支持它,但当设置为 netcore 3.0 时我仍然收到此错误
  • 在我从测试应用程序中删除 Identity 之前,我得到了这个。很高兴知道我可以让它工作,但身份是这个项目的必需功能。
  • @JussiPalo 即使通过应用程序服务的扩展也不起作用,我遇到了同样的问题!!!现在大卫的答案是正确的!不幸的是,我花了一天时间解决了这个问题,但没有成功。
【解决方案2】:

您可以在ASP.NET Core on App Service Dashboard 上跟踪最新版本

【讨论】:

  • 感谢分享。我会将其添加为书签,以查看何时可以停止作为独立应用程序发布。是否有任何地方显示他们何时开始推出的路线图?因为截至目前,每个区域仍显示在 2.2 上。本来以为 MS 会在发布后至少在一两个区域试用托管自己的平台。我们已经发布了几个月的预览版。
  • 没有路线图,但显然他们“预计全球部署将在 10 月 11 日之前完成”。 github.com/Azure/app-service-announcements/issues/204
  • 我一直在寻找这样的链接。严肃的问题:你在哪里找到的?
  • 我在docs.microsoft.com 网站之一的讨论线程中找到了它。不幸的是,我无法再次找到。
  • 现在好像支持 ASP.NET Core 3.0。我今天使用 ASP.NET Core 发布了一个 Azure Web 应用程序,没有诉诸“自包含应用程序”,它可以工作。
【解决方案3】:

您可以使用 Azure 应用服务扩展(打开应用服务 -> 扩展)添加 .net core 3.0 x86/64 框架。然后发布 .net core 3.0 应用。

【讨论】:

  • 扩展是灰色的。有什么想法可以解决这个问题吗?
  • 不起作用!使用扩展,目前唯一的解决方案是@David's answer use Visual Studio Publish tool。
【解决方案4】:

现在 Azure 支持 .NET core 3.0,请查看这篇文章,了解如何在没有自包含应用的情况下发布。

https://link.medium.com/U2PhGVLrJ0

【讨论】:

    【解决方案5】:

    .NET Core 3.0 现已推出

    【讨论】:

      【解决方案6】:

      我的问题与不正确的 web.config 有关。更改为自包含应用程序时,您必须修改 web.config 的 aspNetCore 部分。

      新的 web.config

      <aspNetCore processPath=".\[your].exe"
      stdoutLogEnabled="false"
      stdoutLogFile=".\logs\stdout"/>
      

      旧的 web.config

      <aspNetCore processPath="dotnet" 
      arguments=".\[your].dll" 
      stdoutLogEnabled="false" 
      stdoutLogFile=".\logs\stdout" />
      

      【讨论】:

        【解决方案7】:

        我尝试将 .net core 3.1 blazor 服务器应用程序部署到应用程序服务 linux,但失败并出现同样的错误。所以我将它部署到 windows .net core 3.0 web 应用程序,它作为独立的和框架相关的(windows x86)部署工作。显然 .net core 3.1 运行时也安装在这些服务器上。但是还没查。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-18
          相关资源
          最近更新 更多