.netCore 反射 :Could not load file or assembly 系统找不到指定文件

WPF,Could not load file or assembly(无法加载文件或者程序集) 目录问题描述问题分析问题解决法1法2代码示例参考文献 问题描述 对Revit和AutoCAD进行二次开发时,当使用WPF作可视化展示时,如果引用了第三方的wpf相关的库,时常会遇到类似于“Could not load file or assembly(无法加载文件或者程序集)”的问题 问题分析 进行二次开发时,你所做的只是一个类库项目,真正的执行程序是进行二次开发的对象的exe文件,wpf会在它所在位置寻找需要的dll文件。显然是找不到的。 问题解决 法1 直接将找不到的dll文件扔到Revit或者Auto 阅读详情
AI摘要

本文讲述了开发者在使用.NET Core进行反射操作时遇到的FileNotFoundException,并揭示了解决方案,即通过修改项目中的deps.json文件来正确加载ClassLibrary2.dll。

System.IO.FileNotFoundException:“Could not load file or assembly 'ClassLibrary2, Culture=neutral, PublicKeyToken=null'. 系统找不到指定的文件。””

  在 .net 程序开发中我们会经常用到反射,最近在开始慢慢接触 .netCore。Core 反射的语法也是一样的,所以写下来也没有什么问题,但是一运行,就弹出了开头的 异常。

  项目结构如下 

  

  ClassLibrary3 是一个接口

  

namespace ClassLibrary3
{
    public interface IClass1
    {
        void Print();
    }
}

ClassLibrary2 是 ClassLibrary3 的实现

namespace ClassLibrary2
{
    public class Class1:IClass1
    {
        public void Print()
        {
            Console.WriteLine("Print.....");
        }
    }
}

主程序通过反射获取到到类型并创建对象

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            Assembly assembly = Assembly.Load(new AssemblyName("ClassLibrary2"));
            Type type = assembly.GetType("ClassLibrary2.Class1");
            var instance = (IClass1)Activator.CreateInstance(type);
            instance.Print();
            Console.ReadLine();
        }
    }

这代码都这里没有问题,但是执行的时候却抛出了 开篇的异常。仔细检查了下,ClassLibrary2 生成的 dll 确认已经是复制到了主程序目录下。

刚开始接触Core  也没有系统去熟悉,最后经过多方努力后,发现在主程序项目下有个 deps.json 的文件

文件内容是这样的(里面没有 ClassLibrary2 因为我们没有在项目中引用 ClassLibrary2)

然后想着 那异常提示找不到路径,那我们在这里配置下不久可以了?

然后改成如下:

 

这时候我们运行程序:

完美!

keil小细节 是因为多复制了fonts.h文件,实际上只需要添加lcd.h就可以了。这个可以找一下破解工具再破解依次。编译语言不正确会导致编译不成功。是因为文件组添加不成功,点击。点击添加文件夹就可以了。 阅读详情

相关推荐

Windows PE下加载.NET程序集的五种实战方案

.NET程序集在Windows PE环境中无法直接运行,本质是托管执行模型与精简操作系统环境的根本冲突。其核心原理在于PE Loader需识别CLR头并加载mscoree.dll或hostfxr.dll等运行时宿主,而WinPE默认缺失.NET运行时、关键API转发DLL、注册表支持及完整内存管理能力。技术价值体现在支撑离线系统维护、应急响应、磁盘取证等高可靠性场景。典型应用包括EFS解密工具、注册表修复器、BitLocker密钥提取器等需脱离常规Windows桌面环境独立运行的C#工具。本文聚焦Windo

dingguayi7025的博客 559

.NET元数据加载与反射机制深度解析

元数据是.NET运行时的核心基础设施,它并非代码注释,而是嵌入PE文件中的结构化只读数据库,支撑类型解析、泛型绑定、特性读取等关键能力。其加载过程遵循严格的三级流水线:程序集定位→元数据导入→RuntimeType构建,任一环节失败均导致TypeLoadException或BadImageFormatException。理解元数据表(TypeDef/MethodDef/CustomAttribute)与Token引用机制,是排查‘找不到程序集’‘类型加载静默失败’等高频问题的根本前提。结合AssemblyL

chuji3953的博客 454

C# Hook强签名验证:Detours深度实践指南

强签名(Strong Name)是.NET程序集完整性保障的核心机制,其本质是基于公钥的数字签名验证,而非加密保护;验证过程由CLR运行时硬编码执行,不可通过配置关闭。要实现不修改源码的可控干预,API Hook成为关键技术路径——其中Detours凭借对x64调用栈、SEH异常链及内存保护的精准兼容,成为.NET环境下的事实标准方案。它支持在JIT编译前动态拦截关键函数(如StrongNameSignatureVerificationEx),赋予开发者对加载策略的细粒度控制权,广泛应用于软件兼容适配、安全

weixin_34417200的博客 607

【已解决】Could not load file or assembly ‘System.Net.Http, Version=xxx, Culture=neutral...

Could not load file or assembly 'System.Net.Http, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80

程序边界 2万+

.NET Core生产级CI/CD四大支柱:环境、构建、发布与熔断

.NET Core自动化部署不是简单配置Jenkins流水线,而是围绕环境一致性、构建语义标准化、发布协议设计和故障熔断四大核心能力构建的工程体系。其本质是解决跨平台Runtime版本对齐、dotnet publish参数组合陷阱、SSH/Docker/IIS多协议差异化交付,以及测试失败时的自动拦截与可观测反馈等关键问题。尤其在金融、电商等高可用场景中,缺乏环境指纹校验或runtimeconfig.json版本锁定,极易引发凌晨告警与线上崩溃。本文聚焦.NET Core 6+主流版本实践,结合Jenkin

chikuai9995的博客 534

Mono运行时的产品思维:可预测性、可裁剪性与可嵌入性

.NET跨平台运行时中,Mono并非.NET Framework或.NET Core的简单移植,而是一种面向资源受限场景的专用执行环境。其核心原理在于通过平台抽象层(PAL)屏蔽OS差异,依托SGen垃圾回收器、AOT编译与Interpreter三模执行引擎,在性能、内存与启动时间之间实现可控妥协。技术价值体现在对嵌入式、边缘计算及iOS等禁止JIT环境的原生支持;典型应用场景包括树莓派边缘代理、医疗工控设备、车载信息娱乐系统及PLC控制算法嵌入。本文深入解析Mono如何以‘可预测性、可裁剪性、可嵌入性’为

diedangxiang4092的博客 423

Could not load file or assembly 'xxx' or one of its dependencies.

Could not load file or assembly ‘xxx’ or one of its dependencies. The system cannot find the file specified.中文的意思是:无法加载文件或程序集’xxx’或它的某个依赖项。系统无法找到指定的文件 提示某个DLL文件找不到或者它的某个依赖项找不到。 这个问题发生在,我在利用反射,获取其它程序集

待审核,验明正身 8954

腾讯C#十五年跨平台演进:从Windows孤岛到云原生主力

C#长期被误认为Windows专属语言,但其本质是基于CLI规范的通用编程平台。本文从.NET运行时原理出发,解析如何通过Mono定制、.NET Core重构与混合部署等工程手段,突破操作系统绑定限制,实现跨Linux(tlinux)、容器化及云原生环境的稳定落地。技术价值在于将语言能力解耦于平台约束,支撑高并发API网关、金融级清算系统与Unity手游热更新等多元场景。文中深度融合‘.NET Core跨平台’‘tlinux适配’两大热词,呈现国内头部企业真实的大规模遗留系统现代化路径。

didi9310的博客 354

netcore使用反射出现Could not load file or assembly 错误

netcore使用反射出现Could not load file or assembly 错误

sq8706的专栏 1011

System.IO.FileNotFoundException: Could not load file or assembly ‘xx.dll‘ or one of its dependencies

fff

Hello Word! 3291

C# DLL跨语言调用:从托管程序集到原生导出的ABI契约设计

DLL 是 Windows 平台实现模块化与跨语言互操作的核心机制,其本质是定义清晰的二进制接口(ABI)契约。理解 PE 文件结构、导出表机制与调用约定(如 StdCall)是打通 C#、C++ 和 Python 调用链路的前提;而 C# 默认生成的是依赖 CLR 的托管程序集,需借助 UnmanagedExports 等工具显式导出非托管函数,才能被 LoadLibrary 正确加载。这一过程涉及内存归属、字符串编码、平台位数匹配等关键工程约束,广泛应用于混合编程、上位机对接及算法模块交付场景。本文聚焦

weixin_29299807的博客 342

Ubuntu 18.04 搭建稳定 F# 开发环境:Mono 兼容方案实战

F# 是微软官方支持的强类型函数式语言,广泛应用于金融系统、工业控制与 Azure 数据平台。其核心运行依赖 .NET 兼容运行时,在旧版 Linux 系统如 Ubuntu 18.04 上,因 glibc、libicu 和 OpenSSL 版本锁定,直接部署 .NET Core 易引发 ABI 冲突与 apt 崩溃。此时 Mono 不是过时替代品,而是经十年生产验证的稳定解法——它静态链接运行时、规避系统库冲突,并原生支持 FSharp.Core 4.7.2 与 .NET Standard 2.0。本文聚焦

weixin_34082854的博客 299

.NET 5.0 WinForms免注册调用大漠插件:SxS并行程序集实战

COM组件在Windows开发中扮演着重要角色,传统调用方式依赖regsvr32注册表写入,这在高版本操作系统与交付场景中常引发权限不足、安全拦截等问题。免注册COM技术基于Windows Side-by-Side(SxS)并行程序集机制,通过应用程序清单将DLL与EXE绑定,进程启动时直接按清单加载组件,从而绕过注册表依赖。该技术广泛应用于C# WinForms自动化、绿色软件部署等场景,尤其适合需要把大漠插件等32位COM组件集成到.NET 5.0工程中的开发者。本文从COM注册原理出发,讲解如何用mt

weixin_34409357的博客 441

de4dot 使用指南:.NET 反混淆与脱壳工具的命令行实战手册

de4dot 是一款基于 GPLv3 开源协议、使用 C# 编写的 .NET 反混淆(deobfuscator)与脱壳(unpacker)工具。它尽力将经过加壳和混淆的程序集恢复为接近原始的状态——字符串加密等大多数混淆可以完整还原,但符号重命名本质上无法恢复,因为混淆后的程序集中通常已不包含原始名称。本文以仓库根目录的 [README.md](https://link.gitcode.com/i

gitblog_00197的博客 179

fog-client:跨平台轻量级终端探针设计与实践

终端资产纳管是IT运维的基础能力,其核心在于实现跨操作系统(Windows/Linux/macOS)的统一状态采集、命令执行与文件下发。基于.NET 6+ Runtime构建的轻量级探针,通过HTTPS+JSON-RPC协议通信,规避传统远程控制软件的图形依赖与重型框架(如Ansible/SCCM)的部署复杂度。它以普通用户权限静默运行,支持插件化扩展与热重载,具备崩溃自愈、结构化日志、配置驱动灰度等生产就绪特性。本文围绕fog-client这一典型实现,详解其跨平台构建链路、插件机制、服务端对接及高频避坑

weixin_31155097的博客 320

ArcGIS中根据DEM和地形起伏度进行地貌分类划分

大家好我是GIS蒲公英,数字高程模型(digital elevation model, DEM)经常都被用到专题地图的底图中,下面来我们来交流一下仅选择海拔和地形起伏度两个指标,用DEM来进行地貌类型的自动判别划分

GIS蒲公英的博客 3万+

.NET 8项目发布失败原因排查:SDK、NuGet、RID到IIS部署全攻略

在.NET开发中,项目构建成功但发布失败或部署后无法运行,是常见的工程实践难题。发布链路涉及SDK版本约束、NuGet包还原、运行时标识符(RID)选型、文件占用、服务器运行时环境及端口绑定等多个技术环节,任一环节失配都可能导致失败或“假成功”。理解框架依赖与自包含发布的差异、掌握dotnet publish命令行诊断技巧、识别IIS 500.19/500.30等典型错误,是高效定位问题的关键。对于跨平台部署,还需关注ASP.NET Core Runtime匹配、Kestrel监听地址及Linux下ICU全

weixin_32821533的博客 202

State of GPT (ChatGPT 原理及现状介绍)

要用 RLHF 的一个简单的原因就是 RLHF 模型效果更好,下面的图来源于 InstructGPT 论文,PPO (RLHF 算法) 后的模型生成的答案更被人类喜欢。karpathy 认为 RLHF 有用的原因是判别比生成更容易,让标注员去写一些 SFT 的 QA 数据对是比较难的,如果有一个 SFT 模型生成一些数据让标注员判断哪个更好就简单很多。,GPT4 最强,前三个都是 RLHF 模型,其他模型都是 SFT 模型。伯克利做的模型评测榜单。

kebijuelun的博客 3578

MSBuild Trim 与 Native AOT 注解管理实战:从 `[RequiresUnreferencedCode]` 到 Feature Switch 的完整机制

> 本篇指南以微软 MSBuild 仓库([documentation/aot/managing-trimming-and-aot.md](https://link.gitcode.com/i/f7a86b56149a1e519b0740998fbcc79a))为骨架,结合仓库内 [FeatureSwitches.cs](https://link.gitcode.com/i/4a5aa78ee7d

gitblog_00652的博客 143

从零到一:手把手教你构建自定义ReaxFF力场参数

本文手把手教你从零构建自定义ReaxFF力场参数,详解反应力场的动态键序机制与参数化逻辑。通过LAMMPS实战演示,涵盖训练数据准备、参数优化算法选择及性能优化技巧,助力研究人员精准模拟化学反应过程。适用于材料科学、催化研究等领域,特别适合已掌握分子动力学基础的进阶用户提升力场开发能力。

weixin_28365523的博客 1057

Matlab图像处理频域滤波实现——高斯低通、高通、带通带阻滤波器

如果你想要进一步了解更多的相关知识,

小嘤熊的博客 1万+
上一篇: iissss
下一篇: HTTP 错误 500.19 - Internal Server Error
codeyellowcode
博客等级 码龄7年 0粉丝 9原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值