Problema con Azure Functions / EFSQLSERVER .NET CORE 3.0:
Reproducir:
- Use Visual Studio 2019 16.2.1
- Use la plantilla de Azure Function para crear un proyecto.
- Se modificó Target Framework a .NET Core 3.0
- Agregue Microsoft.EntityFrameworkCore.SqlServer "Version =" 3.0.0 "referencia a través de Nuget Package Manager.
- Aplicación de la función Excecut usando F5
Resulta en un error como se muestra en los siguientes fragmentos. ¿Alguien se encontró con este 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
Mis paquetes nuget del archivo 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;**
}
}
}
Respuestas:
Por ahora, ASP.NET Core 3.0 no está disponible actualmente para Azure App Service, consulte este documento de Microsoft .
Azure Functions 3.0, que será totalmente compatible con Core 3.0, estará disponible en octubre, consulte aquí . Sin embargo, no se ha lanzado ahora.
A partir de este problema , podría encontrar que Azure Function 2.0 en este momento no funciona con ningún paquete Microsoft.Extensions. * 3. * y no puede compartir código con los servicios .Net Core 3.0.
Para obtener más información sobre Azure Fuction 3.0, consulte esta discusión .
fuente
Ahora puede usar .net core 3.0 para crear funciones azules. Actualización
Microsoft.NET.Sdk.Functions
a1.0.30-beta2
y conjuntoAzureFunctionsVersion
av3-preview
.Lea más sobre Desarrollar funciones de Azure con .NET Core 3.0 aquí
Ahora puede usar DI usando
IFunctionsHostBuilder
fuente
Hasta que Azure Functions 3.0 esté disponible como una versión estable, lo más fácil parece ser degradar el
Microsoft.Extensions.Http
paquete a 2.2.0:Me ayudó con el mismo problema, ya que parece que no hay otra solución por el momento. Incluso los paquetes beta disponibles no funcionan en un servidor de compilación.
Más detalles aquí: Inyección de dependencia de funciones de Azure : error al hacer referencia a la biblioteca de clases (Github).
fuente