添加程序集引用失败:EvSef.Infra命名空间不存在问题求助
EF添加迁移时程序集引用勾选后自动取消的问题解决
问题描述
- 项目DbContext位于单独文件夹,执行
Add-Migration命令时触发错误:Error CS0234 The type or namespace name 'Infra' does not exist in the namespace 'EvSef' (are you missing an assembly reference?)
- 尝试通过VS添加程序集引用,勾选对应项目复选框后返回设置页面,发现复选框自动取消,问题未解决。
解决步骤
- 检查框架版本一致性
确认被引用的EvSef.Infra项目与当前启动项目的目标.NET框架版本完全一致(如均为.NET 6.0),框架版本不匹配会导致引用无法保存。 - 手动编辑.csproj文件添加引用
绕过VS UI的异常问题,直接修改项目文件:- 右键当前项目,选择「编辑项目文件」
- 在
<ItemGroup>节点中添加以下代码(替换为你的项目实际路径):<ProjectReference Include="..\EvSef.Infra\EvSef.Infra.csproj" /> - 保存文件后重新加载项目,引用即可生效。
- 清理重建解决方案
依次执行Clean Solution和Rebuild Solution,清除编译缓存导致的异常。 - 检查项目状态
确认EvSef.Infra项目未被从解决方案中排除,若项目文件损坏,可尝试重新将项目添加到解决方案。 - 明确指定迁移的项目
执行迁移命令时明确指定启动项目与包含DbContext的项目,避免自动识别错误:Add-Migration InitialCreate -StartupProject [你的启动项目名称] -Project EvSef.Infra
内容的提问来源于stack exchange,提问作者masoud mazloum
相关产品推荐
相关产品推荐

