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

如何修复.NET 8.0独立WebAssembly应用EF+SQLServer的deps.json不存在错误?

解决Blazor WebAssembly中Add-Migration报错“The specified deps.json [] does not exist”的问题

核心问题本质

Blazor WebAssembly(WASM)纯客户端项目无法直接使用EF Core执行数据库迁移——它运行在浏览器沙箱中,没有访问本地数据库的权限,也不具备EF Core迁移所需的.NET运行时环境。你大概率是混淆了Blazor WASM的项目类型,或者在错误的项目中执行了迁移命令。

分场景解决步骤

场景1:你使用的是Blazor WASM Hosted模式(包含Client、Server、Shared三个项目)

这是带后端API的WASM项目,迁移必须在Server项目中操作:

  1. 配置连接字符串:在Server项目的AppSettings.json中添加(如果没有该文件就新建):
    "ConnectionStrings": {
      "DBConnection": "server=(localdb)\\MSSQLLocalDB;database=EmployeeDB;Trusted_Connection=true"
    }
    
    不要把连接字符串写在LaunchSettings.json里,这个文件是用来配置启动参数的,不是存储配置项的地方。
  2. 配置DbContext:在Server项目的Program.cs中添加DbContext注册代码:
    builder.Services.AddDbContext<AppDbContext>(options =>
        options.UseSqlServer(builder.Configuration.GetConnectionString("DBConnection")));
    
  3. 执行迁移命令:
    • 打开包管理器控制台,在“默认项目”下拉框中选择Server项目
    • 执行命令:
      Add-Migration InitialCreate
      Update-Database
      

场景2:你使用的是纯Blazor WASM单项目

这种纯客户端项目不能直接操作数据库,需要单独添加ASP.NET Core Web API项目作为后端:

  1. 新建一个ASP.NET Core Web API项目,将AppDbContext、连接字符串配置、迁移操作都放在这个API项目中(步骤同场景1的Server项目)
  2. Blazor WASM客户端通过HttpClient调用API接口来实现数据操作,不要在客户端项目中引入EF Core或执行迁移命令

错误原因说明

你之前在Blazor WASM客户端项目中执行Add-Migration,但客户端项目编译后是运行在浏览器的Wasm代码,没有EF Core迁移所需的.NET运行时依赖环境,因此会出现找不到deps.json的错误——这个文件是.NET Core后端项目的依赖描述文件,客户端WASM项目的结构完全不同。

内容的提问来源于stack exchange,提问作者Phongsak Sukthong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 10:51:12