Azure功能v2已从.Net标准更改为.Net核心

Azure功能v2已从.Net标准更改为.Net核心,azure,azure-functions,Azure,Azure Functions,上个月我一直在使用Azure函数,并一直很高兴地将它们创建为V2(.Net标准) 问题 现在,在最近的更新之后,我只能将V2创建为(.netcore),而这些似乎与旧类型不兼容 问题: 我真的需要将所有旧函数移植到这种新类型吗?这是我尝试在旧函数中引用新函数时遇到的错误 Project is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Project supports: netcoreapp2.0 (.NETCo

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

问题 现在,在最近的更新之后,我只能将V2创建为(.netcore),而这些似乎与旧类型不兼容

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

Project is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Project supports: netcoreapp2.0 (.NETCoreApp,Version=v2.0)
并排显示两个V2项目的屏幕截图。

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

但我们不能参考针对不同框架的项目,我们必须改变TF以实现兼容性。右键单击project并
编辑.csproj

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


netcoreapp2.1
v2

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

我不知道Azure函数到底是如何工作的,但一般来说,不需要更改代码,仅将目标从
netstandard2.0
更改为
netcoreapp2.0
我无法将目标从netstandard2.0更改为netcoreapp2.0。在同一个项目中,我只得到其中一个项目的列表,但不能同时得到这两个项目的列表。@JerryLiu我是否正确地理解使用netcore是现在常见的建议?它有什么好处?引用netstandard难道不意味着它将自动为核心2.1、2.2等工作,而所有这些都实现了标准吗?我想说的是,指定标准不意味着我们可以忘记升级TF,而指定核心意味着我们应该显式地更改TF以进行升级吗?@AndreyStukalin TF更改主要是为了支持使用.net核心API。如果没有必要,我们可以继续使用
netstandard2.0
,忘记升级TF。至于从NetCore2.1升级到更高版本,我假设Azure功能将实现前向兼容性,否则这将是对许多现有项目的突破性改变。
<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
  </PropertyGroup>