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

无法加载程序集求助:已引用程序集仍报加载错误

解决“Could not load assembly. Ensure it is referenced by the startup project”报错方案

更新操作时出现报错:Could not load assembly. Ensure it is referenced by the startup project,但相关项目已完成引用,具体情况如下:

  • Startup.cs中已配置数据库上下文注入代码:
// Add the SQL db connection
services.AddContext<LairageContext>(Configuration.GetConnectionString("SqlConnection"), ServiceLifetime.Transient);
  • 依赖项列表中已显示对应引用
  • 项目引用配置正确:
<ItemGroup>
    <ProjectReference Include="..\Marel.LairageScanner.Context.Sql\Marel.LairageScanner.Context.Sql.csproj" />
    <ProjectReference Include="..\Marel.Models\Marel.Models.csproj" />
</ItemGroup>

实用排查与解决步骤

  • 清理重建解决方案
    右键解决方案 → 选择“清理解决方案”,完成后执行“生成解决方案”。编译缓存异常是这类问题的常见诱因,清理后重新生成可修复多数引用识别问题。

  • 确认启动项目设置
    检查当前启动项目是否为包含Startup.cs的项目,若不是则右键目标项目 → 设为启动项目。误切换启动项目会导致引用加载路径错误。

  • 核对目标框架兼容性
    查看被引用项目(Marel.LairageScanner.Context.Sql、Marel.Models)的目标框架版本,确保与启动项目完全一致。比如启动项目用.NET 6,被引用项目用.NET Framework 4.8会直接引发加载失败。

  • 检查被引用项目编译状态
    单独编译两个被引用项目,确认无编译错误。若被引用项目本身编译失败,即使添加了引用也无法加载其程序集。

  • 手动清除bin/obj目录
    找到启动项目和被引用项目的bin、obj文件夹并删除,之后重新生成解决方案。这种方式比清理解决方案更彻底,可清除所有残留编译文件。

  • 检查“复制本地”属性
    右键启动项目中的目标引用 → 属性,确认“复制本地”设置为True。若为False,编译后程序集不会被复制到启动项目输出目录,运行时会找不到文件。

  • 排查程序集同名冲突
    查看启动项目输出目录,确认是否存在多个版本的同名程序集,或其他项目输出了同名dll,导致加载时出现混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 04:11:20