下面是解决方案的结构
.NET 4.8 Framework
Windows窗体解决方案
1.消费者项目,.NET 4.8 Framework
类库项目
1.调用方项目,.NET 4.8 Framework
winform项目。使用者项目在调用方项目中具有项目引用。
我这里有一个奇怪的情况,我试图调试消费者项目中的一个方法。但是我无法调试它(断点从未命中它),method
在Visual Studio 2019
中显示0引用。除此之外,如果我在Visual Studio中按CTRL+F12
或Go To Implementation
,它会显示一个消息框,说symbol has no implementations
。winform
解决方案有许多这样的类库项目,但问题只出现在这个库中。
到目前为止我所做的事情。
1.从另一个项目(调用者)中删除该项目/库引用并构建解决方案,令人惊讶的是它仍然在编译。
1.删除.suo文件和调试文件夹,并重新启动VS,但没有任何工作。
1.我尝试在VS中启用/禁用代码透镜功能来显示引用,但没有任何效果。
看起来消费者项目就像一个第三方项目引用,其代码不在解决方案中,但事实并非如此。所有这一切都是从我删除解决方案的调试文件夹开始的,这是不是和symbols
有关?知道为什么会这样吗
先谢谢你了。
编辑:我已经按照下面链接中接受的答案检查了符号加载部分,一切都在正确的位置,IDE将.pdb文件和解决方案的.exe转储在同一个位置,即.bin\Debug
How do I remedy "The breakpoint will not currently be hit. No symbols have been loaded for this document." warning?
1条答案
按热度按时间vjhs03f71#
好了,问题终于解决了。
我不断尝试重新引用Consumer项目引用,首先从引用列表中删除它,然后再次添加它,但Consumer项目的方法仍然在Visual studio中显示
0
引用。所以这次我手动从Caller项目的.csproj
文件中删除了Consumer项目的引用条目,并构建了项目,然后出现了明显的编译错误。之后,我重新添加了消费者项目引用,并再次构建项目。在此之后,所有Consumer项目的方法的引用开始出现。当我从Visual Studio中删除引用时,似乎
Visual Studio 2019
实际上并没有从项目文件中删除Consumer项目的条目,这就是为什么即使从Caller项目中删除了Consumer项目引用,代码仍在编译中没有错误。