news 2026/10/30 15:54:14

C# 项目调试的时候进不去断点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 项目调试的时候进不去断点

场景:A项目引用了B.dll,改完B项目代码生成后(假设这里给B项目中的Test1类添加了一个字段),调试A项目的时候,报错:未在Test1中找到字段:xxx

在编辑界面不报错,运行调试才报错,这种问题一般是dll的引用路径问题。

就是你代码里写的看起来使用了新的字段:

但是编译的时候实际编译使用的dll中还是之前没有这个字段的dll。

但是我们也已经重新生成了,为什么不能引起dll更新呢?

实际上dll会跟随重新生成而更新,只不过A项目引用B.dll的时候会从好几个目录下找B.dll,所以即使B.dll已经更新了,但是A项目并没有引用到新的B.dll,而是在某个地方被原来的B.dll截胡了。

这个时候可以观察你的代码编译的时候实际上引用的是哪个目录下的B.dll:

在vs 的输出框查找对应的dll名称:

或者使用代码查看,其中typeof()中的类就是B项目中的一个类:

知道引用的是哪里的B.dll后,把那里的B.dll删除,再重新测试就好了。或者文件资源管理器那里搜索B.dll,先全部删除,再重新生成。

C#项目寻找dll的过程是有顺序的,这一点可以搜索相关字眼学习。

另外,我遇到的情况是:

我的A项目生成方式也是dll,然后输出路径假设是Path-A,启动方式是外部程序。

B项目生成路径是Path-Dll,A项目引用那里现实的B.dll路径是Path-Dll。

由于Path-A路径下存在了一个B.dll,我每次重新生成B生成在了Path-Dll下,导致编译的时候没有引用到真正修改过的B.dll。把Path-A下的B.dll删除后重新测试就好了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 5:24:43

Docker 从入门到精通教程

Docker 从入门到精通教程 目录 Docker 简介Docker 核心概念Docker 安装Docker 基础命令Docker 常用命令详解Dockerfile 编写Docker Compose实际应用场景常见问题与解决方案最佳实践学习路径建议常用命令速查表 Docker 简介 什么是 Docker? Docker 是一个开源的容…

作者头像 李华
网站建设 2026/10/29 23:31:15

waitGroup底层源码分析

面试官必问:Go WaitGroup 底层是怎么实现的?源码拆解 原理分析_哔哩哔哩_bilibili 如果大家不想看文字版的可以去观看我b站对应的视频,超详细,欢迎大家观看,链接在上面。 一、介绍waitGroup waitGroup就像一个任务…

作者头像 李华
网站建设 2026/10/29 22:02:43

LobeChat能否用于编写Prometheus告警规则?可观测性增强

LobeChat 能否用于编写 Prometheus 告警规则?可观测性增强 在现代云原生系统中,服务的稳定性早已不再依赖“看日志猜问题”的经验主义。随着微服务和 Kubernetes 的普及,系统的复杂度呈指数级上升,传统监控方式已难以应对快速定位…

作者头像 李华
网站建设 2026/10/29 21:24:19

大模型学习全攻略:七阶段系统学习路线图,从基础到实战应用,非常详细收藏我这一篇就够了

文章提供了七阶段大模型学习路线图:从数学和编程基础开始,经历机器学习、深度学习、自然语言处理等阶段,到大规模语言模型及其应用,最后是持续学习与进阶。每个阶段都推荐了相关书籍、论文和在线课程作为学习资源,并附…

作者头像 李华
网站建设 2026/10/29 9:30:44

YOLOv5中使用torch加载自定义模型进行目标检测

YOLOv5中使用torch加载自定义模型进行目标检测 在智能安防、工业质检和机器人视觉等实际场景中,我们常常面临这样一个问题:训练好的YOLOv5模型如何快速部署到真实环境中?很多开发者卡在“训练完成却不会用”的尴尬阶段——明明.pt文件就躺在r…

作者头像 李华