[英]Access Nuget Packages hosted in private Nuget server in Azure Functions
[英]azure functions with nuget packages that have different versions of the same dependency
我正在编写一个 Azure 函数,它使用来自我的私人订阅源的 2 个 nuget 包(A 和 B)。 包 A 直接使用 Dapper 版本 1.50.2,包 B 使用 Dapper.SimpleCrud 1.13.0,它依赖于 Dapper 版本 [1.42.0, 2.0.0)。
在 Azure 函数中,我添加了 project.json,我在其中指定了包 A 和 B 及其版本。
当我查看 azure 函数中已安装的软件包时,我看到 Dapper 1.42.0 和 1.50.2 都已安装。 当我尝试调用包 A 和 BI 中的方法时,在 azure 函数日志中出现错误,提示找不到 Dapper 1.40 版。 (取决于我如何设置我的 project.json,它将是 Azure Function 找不到的 Dapper 1.40 或 1.50)
我创建了 Dapper.SimpleCRUD 包的测试版本,其中对 dapper 的依赖来自 [1.50.2, 2.0.0) 并且一切正常。
我还尝试将 Dapper 1.50.2 添加到 project.json 中,希望 Dapper.SimpleCRUD 可以使用它,但它似乎仍然会引入 Dapper 1.42。
我在 Azure Functions 上是否缺少某些设置以允许此设置工作,或者这是对 Azure Function 包管理的限制?
感谢您的任何帮助,您可以提供。
我似乎是一个问题(AFAIK 甚至到了 2016 年 10 月),他们仍然没有找到在 azure 函数中进行绑定重定向的好方法。
我使用两个具有相同依赖项(但版本不同)的不同 nuget 包的 azure 函数遇到了类似的问题。
这里有一个类似的问题: Azure Functions binding redirect
我最终保留了尽可能少的 nugets 以避免绑定重定向。 如果您的项目无法做到这一点,请尝试使用 webjobs(至少作为短期解决方案),直到 azure 函数支持这一点。
.net 5.0 中引入并在 .net 6.0 中增强的进程外 azure 功能解决了这个问题以及更多问题!
当您的 .NET 函数在进程外运行时,您可以利用以下优势:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.