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

Blazor Server应用中Configuration未找到问题求助

Blazor Server中Configuration未找到问题的解决方案

问题描述

在Blazor Server应用中添加DbContext时编写以下代码:

services.AddDbContext<AppDBContext>(item => item.UseSqlServer(Configuration.GetConnectionString("myconn")));

编译器提示Configuration未找到,即使已经添加了using Microsoft.Extensions.Configuration;,且IDE自动提示需要安装Fluent Assertions。

解决步骤

  • 忽略Fluent Assertions的提示:Fluent Assertions是单元测试用的断言库,和当前DbContext配置问题完全无关,无需安装。
  • 修正Configuration的访问方式:
    • 如果代码写在.NET 6+的Program.cs顶级语句中,必须使用builder.Configuration而非直接写Configuration——模板中默认的配置实例是通过WebApplicationBuilder的builder对象暴露的,修正后的代码:
      builder.Services.AddDbContext<AppDBContext>(item => item.UseSqlServer(builder.Configuration.GetConnectionString("myconn")));
      
    • 如果代码写在自定义服务扩展类中,需要通过方法参数传入IConfiguration实例,示例:
      public static class ServiceExtensions
      {
          public static void AddAppDbContext(this IServiceCollection services, IConfiguration configuration)
          {
              services.AddDbContext<AppDBContext>(item => 
                  item.UseSqlServer(configuration.GetConnectionString("myconn")));
          }
      }
      
      随后在Program.cs中调用:
      builder.Services.AddAppDbContext(builder.Configuration);
      
  • 确认必要包已安装:确保项目已安装Microsoft.EntityFrameworkCore.SqlServer包(SQL Server的EF Core提供程序),.NET 6+模板默认已包含Microsoft.Extensions.Configuration相关依赖,无需额外安装。

内容的提问来源于stack exchange,提问作者Muhammad Faizan Khan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:00:05