我有一个 API 和一个单独的 Azure Functions 应用程序。我将我的 API 应用程序升级到.NET 5,它运行良好。在 API 应用程序的解决方案中,我也有在 Azure Functions 应用程序中引用的类库项目。这些类库是netstandard2.1项目。
自从这次更新(在此期间我还将所有 NuGet 包更新到最新版本)之后,我的 Azure Functions 应用程序停止工作。我收到以下错误:
无法加载文件或程序集“Microsoft.Extensions.Configuration.Abstractions,Version=5.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”。该系统找不到指定的文件。值不能为空。(参数'提供者')
我注意到有涉及Microsoft.Extensions.*软件包的重大更改,他们的建议是直接安装导致问题的软件包。所以我Microsoft.Extensions.Configuration.Abstractions手动添加到我的 Azure 函数 - 在它作为Microsoft.Extensions.Configuration包的依赖项安装之前。这是关于此的信息:https :
//github.com/dotnet/aspnetcore/issues/21033
问题仍然存在。我什至尝试Microsoft.Extensions.Configuration在 API 和 Functions 应用程序中降级,但我仍然遇到相同的错误。
知道如何解决这个问题吗?
当我尝试运行 Azure 函数 v4 时,收到此错误消息。
System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.Extensions.Options, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. The system cannot find the file specified.'
这曾经像一周前一样工作,现在它在运行时抛出此错误。我所做的最新更改是将 EF Core 更新到版本 7。但我想这不相关,因为那是在不同的项目中,因此与功能项目无关。
这些是我的函数项目中的包引用:
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<AzureFunctionsVersion>v4</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.1.3" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
有其他人得到它或知道如何解决它吗?
尝试删除所有 Nuget 软件包并安装它们。那行不通。我还可以在调试文件夹中看到 Microsoft.Extensions.Options.dll (v7)。不知道为什么运行时会抱怨它。
我最近更新到 VS 2022 版本 17.4.1。也许这就是问题所在?