一个C#桌面应用程序(在Visual Studio Express版上)工作了,但5秒钟后就不工作了。

我尝试了以下方法:

确保在所有程序集上设置了调试配置、调试标志和完整的调试信息。从我的整个计算机中删除所有bin和obj文件夹以及与项目相关的所有DLL文件。从头开始重新创建导致问题的项目。重新启动。

我在解决方案中有两个Windows窗体项目。其中一个加载调试信息,另一个不加载。它们都引用了我试图在项目文件中以完全相同的方式获取调试信息的程序集。有什么想法吗?


我想在这里补充一点,当我回来回顾这个问题时,主要是为了我自己,即在加载程序集之前不会加载符号,并且在需要时才会加载程序集。如果断点位于仅在主程序集中的一个函数中使用的库中,则在调用该函数之前,不会加载符号(并且它将显示断点未命中)。


当前回答

取消选中

工具/选项/调试/常规

其他回答

确保引用的是正确的类。

在我的例子中,我有一个GameObject,其中我向组件添加了错误的脚本。因此,Visual Studio无法实际访问代码。

我只需删除错误的C#脚本和组件,然后添加正确的一个。

我无意中在文本编辑器中打开了项目文件,结果它被卸载了。不太可能,但如果你卡住了,请检查一下。

您需要在编译器设置中启用“生成调试信息”

取消选中

工具/选项/调试/常规

主项目同时具有同一项目的“项目参考”和“文件参考”。

在我的例子中,主项目有两个引用,一个是项目引用,另一个是对同一项目生成的dll的File引用。

因此,pdb文件没有被复制到Main项目的bin文件夹中,导致符号不可用。