在Nuget包中公开Azure函数

时间:2019-03-06 04:46:18

标签: c# azure nuget azure-functions

我们希望在多个产品中实现可重用功能。

我想做的是:

  • 创建一个包含一个或多个Azure函数(附加了FunctionNameAttribute的静态方法)的C#项目
  • 将此项目转换为NuGet包
  • 在Azure Functions项目中引用此NuGet程序包
  • 在要使用的项目中公开NuGet程序包中的功能

虽然我发现它们都可以编译,但是NuGet包中的函数在启动时未“找到”,因此将被忽略。我可以看到出于安全原因这是合乎需要的,但是我想知道是否有一种方法可以覆盖函数运行时如何说“扫描此程序集并使用其中包含的任何功能”。

即使具有自定义代码,也比我们发现自己的情况更可取-在我们的程序包中具有由两个不同产品引用的联合功能,但是每个产品必须创建一组重复的函数,然后调用通用代码。

1 个答案:

答案 0 :(得分:1)

我认为最好的方法是通过git submodules而不是Nuget软件包。

创建一个两个产品都将引用的项目。一个基类,它将具有一些方法,您可以通过从基类继承这些方法来覆盖或仅在两个解决方案中重用。


在您发表评论之后,请尝试以下工作流程:

1-用Swagger为所有Product常规操作编写AZF项目。

2-编写一个新项目以具有将使用所有Product REST端点的ProductBase类。

3-将“消费”项目转换为Nuget包。

4-将其安装在项目A和B中,并继承基本产品类