如何将 Azure Functions v3 迁移到 .net core 5.0

How to migrate Azure Functions v3 to .net core 5.0

我已将 Azure Function v3 项目中的所有程序集升级到版本 5.0,但我无法 运行 该函数。这是我函数的 csproj 文件的部分定义:

<PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <AzureFunctionsVersion>v3</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="4.0.3" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.11" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.SignalRService" Version="1.2.2" />
    <PackageReference Include="System.Net.Http" Version="4.3.4" />
  </ItemGroup>

使用 .NET 5 实现此功能所需的解决方法是什么? Google 没有得出任何结论。

Further info: 5.0.100 [C:\Program Files\dotnet\sdk]

这是我收到的错误消息之一:

Could not load file or assembly 'Microsoft.Extensions.Configuration.Abstractions, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.

@Marc 的评论是正确的,目前 Azure Functions 不支持 .net 5。当前 ETA 是年底预览。

请关注this github issue任何更新。

Azure 函数团队发布了对 .Net 5 的支持,向 运行 .NET 函数应用程序引入了新的独立进程模型。

您可以在 announcement 中阅读更多相关信息。

要将您的函数应用程序迁移到 .Net 5,您可以按照此 guide

Dave Brock 创建了一个网页来解释使用预览位的过程。但我相信它应该足够接近释放位。参见 here

看起来 Brandon Minnick 的指南更全面。参见 here