具有相同依赖关系的不同版本的nuget包的azure函数

Nis*_*ish 10 dependencies azure nuget-package azure-functions

我正在编写一个Azure函数,它使用我的私有Feed中的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功能找不到的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功能包管理的限制?

感谢您的任何帮助,您可以提供.

fri*_*ley 6

我似乎遇到了一个问题(甚至到2016年10月为止仍是AFAIK),他们仍然没有找到在Azure函数中进行绑定重定向的好方法。

我使用两个具有相同依赖项(但版本不同)的不同nuget包的azure函数遇到了类似问题。

这里有一个类似的问题:Azure Functions绑定重定向

我最终保留了最少数量的nuget,以避免绑定重定向。如果您的项目无法做到这一点,请尝试使用webjobs(至少作为短期解决方案),直到azure函数支持此功能为止。

  • Nish,如果您继续遇到问题,请在GitHub(https://github.com/Azure/azure-webjobs-sdk-script)上提交一个包含详细步骤/说明的问题,以便我们进行调查。我还正在(过期)发布有关Azure功能中托管依赖项的选项和行为的详细信息,这可能有助于清除一些问题。 (2认同)