如何解决Azure Pipeline部署中的Nuget错误NU1605供项目参考
我一直在尝试为Azure Functions项目更新我的业务逻辑层dll。当我生成/还原nuget程序包时,一切似乎在我的本地计算机上都可以正常工作,但是当我使用IAC推送它通过Azure Pipelines进行部署时,它会失败,并显示nuget代码NU1605。
基本上,我在多个项目中都有多个功能,所以结构看起来像这样:
功能1-参考->通用(用于DI)
功能2-参考->常见
功能1-参考-> BLLDLL
功能2-参考-> BLLDLL
常见-参考-> BLLDLL
这就是控制台失败时的样子
(Restore target) ->
/home/vsts/work/1/s/Function1.csproj : error NU1605: Detected package downgrade: BusinessLogic from 1.19 to 1.17. Reference the package directly from the project to select a different version.
/home/vsts/work/1/s/Function1.csproj : error NU1605: Function1 -> Common -> BusinessLogic (>= 1.19)
/home/vsts/work/1/s/Function1.csproj : error NU1605: Function1 -> BusinessLogic (>= 1.17)
Function1已更新至1.19,所以我不确定它在抱怨什么。 Common确实可以正确还原,我什至尝试将Common还原以首先在YAML中进行还原和构建,以为那是因为尚未构建项目DLL,但是它没有做任何事情。我确定我缺少一些小东西,我们的其他解决方案具有相同的结构并且没有失败。很高兴尝试在需要时提供更多信息,但我很沮丧。
解决方法
Azure管道部署中的Nuget错误NU1605供项目参考
就像错误消息显示的那样:
Function1.csproj : error NU1605: Function1 -> Common -> BusinessLogic (>= 1.19)
Function1.csproj : error NU1605: Function1 -> BusinessLogic (>= 1.17)
因此,项目Function1.csproj
直接引用了低版本nuget软件包BusinessLogic (>= 1.17)
,但间接引用了高版本nuget软件包BusinessLogic (>= 1.19)
。这将导致错误NU1605
:检测到程序包降级。
要解决此问题,我们需要将本地项目BusinessLogic (>= 1.17)
的直接引用1.19
更新为版本Function1.csproj
,然后将此更改提交到Azure存储库。
我知道了,在解决方案重组之前,我们的csproj文件的旧版本以某种方式回到了源的master分支,并被YAML选中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。