Azure函数使用来自ASP.NET(Core?)的HttpResult
和IActionResult
类来处理HTTP触发器。 Azure Functions v2运行时是什么版本的ASP.NET?我知道v2使用在.NET Core上运行的.NET Standard 2.0,因此我假设使用ASP.NET Core,但是哪个版本?
答案 0 :(得分:3)
两个概念,一个是为Azure函数提供动力的主机/运行时。
现在,Azure Function 2.0运行时基于.Net Core 2.1,并引用Microsoft.AspNetCore.App v2.1.6。
另一个是Azure WebJobs SDK,该框架简化了编写要在Azure Function运行时上运行的代码的任务。我们可以使用HttpResult
和IActionResult
,因为SDK引用了ASP.NET(Core) packages。
<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
。要使用.Net Core API,请使用netcoreapp2.1
。
答案 1 :(得分:0)
根据https://github.com/Azure/Azure-Functions/issues/686#issuecomment-389699549,Azure Functions不支持框架的概念,但支持.NET Standard接口。
您的函数必须针对由dotnet core 2.0(https://docs.microsoft.com/en-us/dotnet/standard/net-standard)实现的.NET Standard 2.0
另请参见https://github.com/dotnet/standard/milestone/3-.NET Standard 2.1不可用或即将发布。