Функции Azure используют классы HttpResult
и IActionResult
из ASP.NET (Core?) Для обработки триггеров HTTP. Какая версия ASP.NET предназначена для среды выполнения функций Azure v2? Я знаю, что v2 использует .NET Standard 2.0, работающий на .NET Core, поэтому я предполагаю, что используется ASP.NET Core, но какая версия?
Какие части ASP.NET используют Функции Azure?
Ответы (2)
Две концепции, одна из которых - хост / среда выполнения, которая поддерживает Функции Azure.
В настоящий момент среда выполнения Azure Function 2.0 основана на . Net Core 2.1 и ссылки Microsoft.AspNetCore.App v2.1.6.
Другой - пакет SDK для веб-заданий Azure, платформа, которая упрощает задачу написания кода для выполнения в среде выполнения функций Azure. Мы можем использовать HttpResult
и IActionResult
, потому что SDK ссылается на Пакеты ASP.NET (Core).
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.4" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Json" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.WebApiCompatShim" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Routing" Version="2.1.0" />
И наш проект Function может быть нацелен на netcoreapp2.1
или netstandard2.0
. Чтобы использовать API .Net Core, используйте netcoreapp2.1
.
Согласно https://github.com/Azure/Azure-Functions/issues/686#issuecomment-389699549 Функции Azure не поддерживают понятие фреймворков, но стандартный интерфейс .NET.
Ваша функция должна быть нацелена на .NET Standard 2.0, который реализуется ядром dotnet 2.0 (https://docs.microsoft.com/en-us/dotnet/standard/net-standard)
См. Также https://github.com/dotnet/standard/milestone/3 - .NET Standard 2.1 недоступен или близок к выпуску.