上个月我一直在使用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)
答案 0 :(得分:2)
目前,netstandard2.0(很长时间以来的旧模板)和netcoreapp2.1(几天前已更新)目标框架都可以正常工作。函数运行时2.x从一开始就基于.Net Core env,因此,此TF更改不应影响以前构建的功能,只需提供对.Net Core API和相关依赖项的访问即可。
但是我们不能引用针对不同框架的项目,我们必须更改TF才能实现兼容性。右键单击项目,然后单击Edit <FunctionProjectName>.csproj
。
请参阅新模板中的默认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.*
(即最新版本)。