如何控制Azure Function V3仅扫描自身程序集的FunctionAttribute
如何控制Azure Functions V3仅扫描指定程序集的FunctionAttribute?
我有一个Azure Function(V3)应用,通过项目引用(或NuGet包)引入了第三方程序集。启动应用时,它不仅会自动发现自身项目中的函数,还会识别第三方程序集中的函数——显然它会扫描bin文件夹中的所有DLL。
我希望控制哪些程序集会被扫描以查找Azure Function特性,或者说如何确保仅扫描我的应用中带有FunctionAttribute的函数?假设我无法修改第三方代码。
补充说明:
因他人要求提供基础代码,在此说明:AzureFunctions.Frontend.dll中的函数托管在需要身份验证的Azure Function应用中。我希望将Swagger文档生成功能拆分到一个可匿名自由访问的Azure Function应用中。当将AzureFunctions.Frontend.dll作为项目依赖项引入以便从bin目录加载时,应用也会发现并运行其中的函数。我仅希望引入该DLL用于生成文档。
目前通过从项目外部路径加载DLL能实现需求,但部署到云端时此方案不可行。
补充说明2:
我找到一个临时方案:将外部DLL链接到项目的子文件夹中,这样Swashbuckle可以加载它们生成文档,Azure Functions运行时似乎不会扫描子文件夹中的DLL以查找函数特性。但我更希望通过NuGet或项目引用引入第三方DLL,这样更便于保持更新。
内容的提问来源于stack exchange,提问作者zu1b
相关产品推荐
相关产品推荐

