【发布时间】:2021-02-24 19:12:39
【问题描述】:
我有一个 API 和一个单独的 Azure Functions 应用。我将我的 API 应用程序升级到 .NET 5 并且运行良好。在 API 应用程序的解决方案中,我有在 Azure Functions 应用程序中引用的类库项目。这些类库是netstandard2.1 项目。
自从这次更新(在此期间我还将所有 NuGet 包更新到最新版本)以来,我的 Azure Functions 应用程序停止工作。我收到以下错误:
无法加载文件或程序集 'Microsoft.Extensions.Configuration.Abstractions,版本=5.0.0.0, 文化=中性,PublicKeyToken=adb9793829ddae60'。系统无法 找到指定的文件。值不能为空。 (参数“提供者”)
我注意到涉及Microsoft.Extensions.* 软件包的重大更改,他们的建议是直接安装导致问题的软件包。所以我手动将Microsoft.Extensions.Configuration.Abstractions 添加到我的Azure Functions 中——在它作为Microsoft.Extensions.Configuration 包的依赖项安装之前。以下是有关此的信息:
https://github.com/dotnet/aspnetcore/issues/21033
问题仍然存在。我什至尝试在 API 和 Functions 应用程序中降级 Microsoft.Extensions.Configuration,但仍然遇到同样的错误。
知道如何解决这个问题吗?
【问题讨论】:
-
对我来说,将 Microsoft.Extensions.* NuGet 包降级到版本 3.1.10 可以解决此问题,因此我认为您正在解决问题,因为 Microsoft.Extensions 重构是问题所在。我必须进行干净的构建,并且我必须退出 VS 并重新启动它。
-
遇到了同样的问题。这里是官方文档中的参考docs.microsoft.com/en-us/dotnet/core/compatibility/…。
-
该页面上的修复(手动引用 Microsoft.Extensions.Configuration.Abstractions)对我不起作用。 Azure Function 部署可能是某种特定问题?
-
@ChrisRae 你是对的!将
Microsoft.Extensions.*降级为3.1.10确实可以解决此问题。它以前对我不起作用,因为我只降级了Microsoft.Extensions.Configuration而不是Microsoft.Extensions.DependencyInjection。显然,有共享库,所以所有Microsoft.Extensions.*都必须降级。谢谢! -
@GaryChan 正如@ChrisRae 提到的,安装
Microsoft.Extensions.Configuration.Abstractions也不适合我!唯一的解决方案似乎是在所有Microsoft.Extensions.*包上回到版本3.1.10。
标签: asp.net-core .net-core azure-functions .net-5