关于天蓝色功能v1 中的依赖项注入,我有一个新问题。
实际情况:
我有一个蔚蓝的功能V1 http triggered
,我想在其中引用我的业务服务,而无需重新发明轮子就可以使用我的服务。
我在互联网上进行搜索,发现来自Microsoft的这个有趣的article。
但是,它似乎只能与 azure函数v2 (。net核心)一起使用,因为每当我尝试安装Microsoft.Azure.Functions.Extensions
时,总是会遇到以下错误:
检测到Microsoft.Azure.WebJobs的NU1107版本冲突。 直接将Microsoft.Azure.WebJobs 3.0.5安装/引用到项目 FunctionApp2365431解决此问题。 FunctionApp2365431-> Microsoft.Azure.Functions.Extensions 1.0.0-> Microsoft.Azure.WebJobs (> = 3.0.5)FunctionApp2365431-> Microsoft.NET.Sdk.Functions 1.0.28 -> Microsoft.Azure.WebJobs(> = 2.2.0 && <2.4.0)
以下是两个项目的dll之间的比较(一个在.net内核中(我可以实现DI),另一个在Net框架461中)
您会看到版本不同,.net核心 V2天青函数为3.5 ,而 V1为2.2
我尝试按照错误要求手动引用/安装软件包版本,并要求我也更新NewtonSoft.Json软件包,我也这样做了,之后我可以强制执行安装Microsoft.Azure.Functions.Extensions
但是,它破坏了项目,我无法停止出错。
完成上述步骤后,生成结果如下:
我的问题是 如何在Net Framework项目中设置 DI例如对于Azure功能V1 ?
然后,为什么只有用于天蓝色功能V2的文档才能设置DI ?
V1是否已被弃用,或者Microsoft不再支持V1天蓝色功能?因为这很奇怪!
预先感谢
编辑: 我的问题不是这个StackOverFlow thread的重复,因为与Microsoft为v2 Azure功能提供的解决方案相比,这是一种复杂且过时的方法。
我还观看了这个有趣的video(仍然没有对其进行测试),这里唯一的问题是我想使用Microsoft(官方)提供的与z func v2类似的东西,而不是软件包他已经发展了。
答案 0 :(得分:0)
如@silent在他的评论中所述,
这是Microsoft的回复
关于您的查询,这是Azure Function的响应 产品团队:
没有计划放弃Azure功能V1,但建议使用Azure功能V2,因为它将在将来获得更多新功能。
目前,仅Azure功能V2支持DI功能,如果需要此功能,则可能需要将应用程序从V1迁移到V2 一个好主意,此文档将对您有所帮助: https://docs.microsoft.com/en-us/azure/azure-functions/functions-versions#migrating-from-1x-to-2x
因此,到目前为止,唯一的方法就是遵循此video,这是关于使用AzureFunctions.Autofac
程序包在Azure函数V1中实现 DI 。
香港