Problema com o Azure Functions / EFSQLSERVER .NET CORE 3.0:
Reproduzir:
- Use o Visual Studio 2019 16.2.1
- Use o modelo da Função do Azure para criar um projeto.
- Estrutura de destino alterada para o .NET Core 3.0
- Adicione a referência Microsoft.EntityFrameworkCore.SqlServer "Version =" 3.0.0 "via Nuget Package Manager.
- Função Excecut App usando F5
Resulta em um erro conforme mostrado nos seguintes trechos. Alguém encontrou esse problema?
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
Meus pacotes de pepitas do arquivo 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>
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;**
}
}
}
Respostas:
Por enquanto, o ASP.NET Core 3.0 não está disponível no momento para o Serviço de Aplicativo do Azure, verifique este documento da Microsoft .
O Azure Functions 3.0, que será totalmente compatível com o Core 3.0, estará disponível em outubro, confira aqui . No entanto, não foi lançado agora.
Com esse problema , você pode encontrar o Azure Function 2.0 no momento não funciona com nenhum pacote Microsoft.Extensions. * 3. * e não pode compartilhar código com os serviços .Net Core 3.0.
Para obter mais informações sobre o Azure Fuction 3.0, consulte esta discussão .
fonte
Agora você pode usar o .net core 3.0 para criar funções azuis. Atualização
Microsoft.NET.Sdk.Functions
para1.0.30-beta2
e conjuntoAzureFunctionsVersion
parav3-preview
.Leia mais sobre Desenvolver funções do Azure usando o .NET Core 3.0 aqui
Agora você pode usar o DI usando
IFunctionsHostBuilder
fonte
Até que o Azure Functions 3.0 esteja disponível como uma versão estável, parece mais fácil fazer o downgrade do
Microsoft.Extensions.Http
pacote para 2.2.0:Isso me ajudou com o mesmo problema, pois parece não haver outra solução alternativa no momento. Até os pacotes beta disponíveis não estão funcionando em um servidor de compilação.
Mais detalhes aqui: Injeção de dependência de funções do Azure - erro ao fazer referência à biblioteca de classes (Github).
fonte