Azure Functions v2从.Net Standard更改为.Net Core

时间:2018-10-26 13:59:39

标签: azure azure-functions

上个月我一直在使用Azure Functions,并很高兴将它们创建为V2(.Net标准)

问题

现在,在最近一次更新之后,我只能将V2创建为(.Net Core),而这些似乎与旧类型不兼容。

问题

我真的需要将所有旧功能移植到这种新类型中吗?这是我尝试在旧函数中引用新函数时遇到的错误。

Project is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Project supports: netcoreapp2.0 (.NETCoreApp,Version=v2.0)

两个V2项目的并排截图。

enter image description here

1 个答案:

答案 0 :(得分:2)

目前,netstandard2.0(很长时间以来的旧模板)和netcoreapp2.1(几天前已更新)目标框架都可以正常工作。函数运行时2.x​​从一开始就基于.Net Core env,因此,此TF更改不应影响以前构建的功能,只需提供对.Net Core API和相关依赖项的访问即可。

但是我们不能引用针对不同框架的项目,我们必须更改TF才能实现兼容性。右键单击项目,然后单击Edit <FunctionProjectName>.csproj

ConvertFrom-Csv

请参阅新模板中的默认TF。 (将VS更新到最新的15.8.8,以使用最新的.Net Core 2.1。)

<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
  </PropertyGroup>

我们可以将新项目修改回TF netstandard2.0,但是为了长期兼容,我建议将旧项目更新为netcoreapp2.1。请记住,将旧项目中的Microsoft.NET.Sdk.Functions更新为1.0.*(即最新版本)。