Azure 函数将 ILogger 引用传递给共享库导致无法加载文件或程序集“Microsoft.Extensions.Configuration.Abstractions”

问题描述

我有一个 Azure 函数可以将 ILogger 引用传递给我的共享库

AzureFunctionProject 上安装的 NuGet 包列表
Microsoft.Extensions.Logging.Abstractions v5.0.0
Microsoft.NET.Sdk.Functions v3.0.11

安装在 SharedProject 上的 NuGet 包列表是
Microsoft.Extensions.Logging.Abstractions v5.0.0

函数运行时无法启动并出现以下错误

System.Private.CoreLib:无法加载文件或程序集 'Microsoft.Extensions.Logging.Abstractions,版本=5.0.0.0, 文化=中性,PublicKeyToken=adb9793829ddae60'。系统不能 找到指定的文件

函数应用程序使用 func.exe 在本地运行,但是当我部署到 Azure 函数运行时,它无法启动并出现上述错误

是否需要在 azure 函数和共享库项目中包含支持 Logging.Abstractions 的其他 NuGet 包?

解决方法

你可以直接将Microsoft.Extensions.Logging.Abstractions.dll文件发送到azure上的function app(你可以先用kudu或ftp之类的东西在azure上查看function app的内容,对比function app的内容在本地。)。