我知道这听起来很容易,并且很多人都提出了相同或类似的问题。我已经花费了很多小时,而且没有一个解决方案适合我。
我有一个有两个项目的解决方案:
项目1是依赖于项目2的Windows窗体应用程序 项目2是一个类库。
调试时,我在Project 1中的断点工作正常。在项目2中,如果我将鼠标悬停在断点上,则会显示臭名昭着的“断点当前不会被点击。此文档未加载任何符号。”
如果在调试时我从Debug菜单中选择Modules,那么类库甚至没有被列为被加载,所以我甚至没有选择手动加载它们。
我遗漏了有关语言,Visual Studio版本,目标.NET框架的详细信息,因为我已经在C#和VB中创建了测试项目,针对不同版本的.NET框架,并使用了三个不同版本的Visual Studio(2008年,2013年) ,和2015)。
我找到的唯一可以调试引用库的方案是在创建MVC Web应用程序时。当我尝试使用Windows窗体应用程序或控制台应用程序时,它永远不会工作。
我在这里缺少什么?
谢谢
更新 我刚刚做了另一个测试,我创建了一个类库第一个,然后在解决方案中添加了一个控制台应用程序项目(在之前的测试中我反过来做了)。然后,我在控制台应用程序项目中添加了对类库项目的引用。然后我就能调试这两个项目。控制台应用程序的.exe和类库的.dll都显示在Debug - >下。 Windows - >模块,而通常当我第二次添加类库时,它不会显示在这里。很奇怪。然而,这仍然无法解决我的问题,因为我需要使用现有的解决方案。
答案 0 :(得分:1)
出于某种原因,有时当您第一次开始调试时,引用的类库不会显示在已加载模块的列表中。类库中的断点也会显示白色,并说它们不会被点击,因为没有加载符号。
但事实证明,它仍然会遇到断点,然后类库DLL确实显示在模块列表中。它似乎是在它实际使用它之前没有加载它。有时情况并非如此。我不知道为什么有时它会在调试开始时加载类库DLL,有时它不会。
答案 1 :(得分:0)
我在ASP.NET应用程序中遇到此问题。我要解决的问题是:
我怀疑在构建时会发生一些事情,生成并复制符号到应用程序中。
答案 2 :(得分:0)
我遇到了类似的问题。我必须转到工具 > 选项 > 调试,然后取消选中“仅启用我的代码”并取消选中“跳过属性和运算符(仅限托管)”