Azure Function App VS 2019 .NET 3.0 中的错误 - 找不到方法:'IFunctionsHostBuilder.get_Services()'

Ath*_*adu 9 azure azure-functions-runtime .net-core-3.0 entity-framework-core-3.0

Azure Functions/EFSQLSERVER .NET CORE 3.0 的问题:

重现:

  • 使用 Visual Studio 2019 16.2.1
  • 使用 Azure Function 模板创建项目。
  • 将目标框架更改为 .NET Core 3.0
  • 通过 Nuget 包管理器添加 Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0" 引用。
  • 使用 F5 执行函数应用程序

导致错误,如以下代码段所示。有人遇到过这个问题吗?

Azure Functions Core Tools (2.7.1633 Commit hash: 45c7d86a3bbc9ed0a80a8f4199aa7ea80ccfb24e)
Function Runtime Version: 2.0.12673.0
[10/4/2019 6:13:14 PM] Building host: startup suppressed:False, configuration suppressed: False
[10/4/2019 6:13:14 PM] Loading startup extension 'Startup'
[10/4/2019 6:13:14 PM] Loaded extension 'Startup' (1.0.0.0)
[10/4/2019 6:13:14 PM] Loading startup extension 'DurableTask'
[10/4/2019 6:13:14 PM] Loaded extension 'DurableTask' (1.0.0.0)
[10/4/2019 6:13:14 PM] A host error has occurred
[10/4/2019 6:13:14 PM] FunctionApp5: Method not found: 'Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Azure.Functions.Extensions.DependencyInjection.IFunctionsHostBuilder.get_Services()'.
Value cannot be null.
Parameter name: provider
Run Code Online (Sandbox Code Playgroud)

我的 nuget 包来自 csproj 文件。

<ItemGroup>
    <PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="1.8.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.29" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)
using Microsoft.Azure.Functions.Extensions.DependencyInjection;


[assembly: FunctionsStartup(typeof(FunctionApp5.Startup))]
namespace FunctionApp5
{
    public class Startup : FunctionsStartup
    {
        public override void Configure(IFunctionsHostBuilder builder)
        {
            **var x = builder.Services;**

        }
    }
}

Run Code Online (Sandbox Code Playgroud)

.NET 核心 3.0

在此处输入图片说明

Geo*_*hen 3

目前,ASP.NET Core 3.0 目前不适用于 Azure 应用服务,请查看此Microsoft 文档

Azure Functions 3.0 将与 Core 3.0 完全兼容,将于 10 月推出,请查看此处。不过现在还没有发布。

从这个问题中,您可以发现Azure Function 2.0目前无法与任何Microsoft.Extensions.* 3.*包一起使用,并且无法与.Net Core 3.0服务共享代码。

有关 Azure Fuction 3.0 的更多信息,请查看此讨论