System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.Extensions.Options”

Thu*_*tha 10 azure-functions visual-studio-2022 .net-7.0

当我尝试运行 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。也许这就是问题所在?

Rit*_*jja 8

我在我的环境中进行了复制,我观察到您提供的相同包在 .NET 6 Azure 函数项目中运行良好

当我删除(最后一个包)时,它在 .NET 7 隔离中工作正常Microsoft.NET.Sdk.Functions

无法加载文件或程序集“Microsoft.Extensions.Configuration.Abstractions,Version=7.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”。该系统找不到指定的文件

正如评论中所讨论的,尝试降级

Microsoft.Extensions.Configuration.Abstractionsnuget 包版本为“6.0.0”。尝试恢复到旧版本

  • 但我的目标是升级 EF 7.0.0。我该怎么办 ?面临同样的错误 (3认同)