Problem mit Azure-Funktionen / EFSQLSERVER .NET CORE 3.0:
Fortpflanzen:
- Verwenden Sie Visual Studio 2019 16.2.1
- Verwenden Sie die Azure-Funktionsvorlage, um ein Projekt zu erstellen.
- Das Ziel-Framework wurde in .NET Core 3.0 geändert
- Fügen Sie über den Nuget Package Manager die Microsoft.EntityFrameworkCore.SqlServer-Referenz "Version =" 3.0.0 "hinzu.
- Excecut Function App mit F5
Dies führt zu einem Fehler, der in den folgenden Ausschnitten angezeigt wird. Ist jemand auf dieses Problem gestoßen?
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
Meine Nuget-Pakete aus der csproj-Datei.
<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;**
}
}
}
Antworten:
Überprüfen Sie dieses Microsoft-Dokument derzeit, da ASP.NET Core 3.0 derzeit nicht für Azure App Service verfügbar ist .
Azure Functions 3.0, das vollständig mit Core 3.0 kompatibel sein wird, wird ab Oktober verfügbar sein. Weitere Informationen finden Sie hier . Es ist jedoch noch nicht veröffentlicht.
Aufgrund dieses Problems konnten Sie feststellen, dass Azure Function 2.0 derzeit nicht mit Microsoft.Extensions. * 3. * -Paketen funktioniert und keinen Code für .Net Core 3.0-Dienste freigeben kann.
Weitere Informationen zu Azure Fuction 3.0 finden Sie in dieser Diskussion .
quelle
Sie können jetzt .net Core 3.0 verwenden, um Azure-Funktionen zu erstellen. Aktualisieren
Microsoft.NET.Sdk.Functions
auf1.0.30-beta2
und einstellenAzureFunctionsVersion
aufv3-preview
.Weitere Informationen zum Entwickeln von Azure-Funktionen mit .NET Core 3.0 finden Sie hier
Sie können DI jetzt mit verwenden
IFunctionsHostBuilder
quelle
Bis Azure Functions 3.0 als stabile Version verfügbar ist, scheint es am einfachsten zu sein, das
Microsoft.Extensions.Http
Paket auf 2.2.0 herunterzustufen :Es hat mir bei dem gleichen Problem geholfen, da es derzeit keine andere Problemumgehung zu geben scheint. Selbst die verfügbaren Beta-Pakete funktionieren nicht auf einem Build-Server.
Weitere Details finden Sie hier: Abhängigkeitsinjektion für Azure-Funktionen - Fehler beim Verweisen auf die Klassenbibliothek (Github).
quelle