You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 8中无法找到FromKeyedServices特性求助

解决.NET 8中找不到FromKeyedServices特性的问题

以下是几个可行的排查和解决步骤:

  • 确认项目目标框架为.NET 8
    打开项目的.csproj文件,检查<TargetFramework>节点是否设置为net8.0:

    <PropertyGroup>
      <TargetFramework>net8.0</TargetFramework>
    </PropertyGroup>
    

    FromKeyedServices是.NET 8新增的特性,低于该版本的框架不支持此API。

  • 检查NuGet包版本
    确保项目引用的Microsoft.Extensions.DependencyInjection.Abstractions包版本为8.x.x。对于SDK风格项目,通常会自动随.NET 8 SDK引入,但如果是手动管理依赖,需确认版本匹配:

    <PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.0" />
    
  • 清理缓存并重建项目

    • 删除项目目录下的bin和obj文件夹
    • 重启你的IDE(Visual Studio、Rider等)
    • 重新构建整个解决方案
      这可以解决因IDE缓存或编译临时文件导致的IntelliSense识别问题。
  • 验证命名空间与特性引用
    虽然你已添加using Microsoft.Extensions.DependencyInjection;,仍可尝试手动输入完整的特性限定名来排除拼写或IntelliSense延迟问题:

    public ApplicationDbContextFactory(
        IConfiguration configuration,
        [Microsoft.Extensions.DependencyInjection.FromKeyedServices("Sql")] IDbContextOptionBuilder dbContextOptionBuilder,
        ILogger<ApplicationDbContextFactory<TDbContext>> logger)
    {
        // ...
    }
    

内容的提问来源于stack exchange,提问作者Oleg Pro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 08:26:03