首先,我想描述一下我的本地项目结构。我有三个Azure Functions v2。在本地,每个功能都有单独的项目。第四个项目是函数正在使用的库。
我想将这些功能发布到Azure上的一个功能(一项应用程序服务)中。而且有问题发生了。
让我们从一个例子开始。假设函数名称为:A,B,C。
首先,我按顺序发布函数:A,B,C。然后我在函数B中进行了一些更改,仅发布了B。然后,函数A和C无法正常工作。 我必须发布所有功能才能再次工作。 我的第一个想法是程序包不兼容,并解决了该问题。但是问题仍然存在。该网络发布文件不包含有关任何其他软件包/ dll的任何信息。
您有什么建议吗?
答案 0 :(得分:2)
您将多个功能项目发布到一个功能应用程序的意图本身是错误的。
在大多数情况下,部署单位应该是功能应用程序,而不是单个功能。部署功能应用程序本质上与部署Web应用程序相同。
本地一个功能项目恰好代表一个完整的功能应用程序,因此一个功能应用程序应仅托管一个已发布的功能项目。否则,发布后我们可能会看到行为不一致,这是由于内容被覆盖等导致的。
我的建议是将功能整合到一个项目中,除非每个项目都有特定的host settings,否则合并通常不会带来麻烦。