对是新的,对C#也是新的。在Visual 2017中构建名为事务消息传递的C# windows服务,该服务依赖于一个称为出站消息传递的项目。当我开始调试并尝试在出站消息文件中添加断点时,我将
“当前不会命中断点。此文档没有加载符号”
据我所知,VS只能加载用于: log4net.dll、Castle.Windsor.dll和Castle.Core.dll的pdb文件。在中将断点添加到文件中没有这个问题。我还无法识别行为模式或永久修复,因此此时错误似乎是随机的。有一分钟,我想我找到了一个修复程序,当我试图在当天晚些时候对相同的错误使用该补丁时,我没有运气。我怀疑最近的断电意外关闭了我的电脑,因为它看起来像pdb文件可以缓存,但已被告知这将是一个长远的机会。
调试服务的步骤:
installutil /u TransactionalMessaging.exe
通过VS命令行卸载事务性消息传递服务installutil TransactionalMessaging.exe
通过VS命令行安装事务性消息传递服务我试图解决这个错误的步骤:
我不确定这是否是对VS、C#或代码库的缺乏理解。任何洞察力都是值得赞赏的,我已经过了谷歌搜索阶段,发布了一个新的问题,作为最后的手段。
发布于 2017-04-26 20:11:39
通常,当我更改了项目A中的代码而忘记编译它时,我就会收到这条消息。
引用项目A的另一个项目B在屏幕上具有最新的A源代码,但以过时的A程序集启动,因此它无法启用断点,因为代码与程序集不匹配。
还有一件事,在我看来是错误和痛苦的屁股,但根据MS的设计(我已经问过他们):
自Visual 2015以来,项目B的编译不会自动包含修改过的引用程序集,在本例中该程序集A是程序集A。B中某个地方有A的本地副本,取而代之的是A副本。与上面相同的结果:最新的代码,但过时的程序集。,而不是编译,您必须重新构建它!
还有一件事:
你必须编译为调试模式。在发布模式下,默认的项目设置不允许正确的调试,比如在VS 2008中。
发布于 2017-04-26 18:52:46
您不能附加调试器,因为您缺少这样做的权利。您可以正确地处理这个问题,只需在注册表中翻转一个特定的位置。
还可以以管理员身份启动VisualStudio,并允许其他用户自动调试进程: "HKCR\AppID{E62A7A31-6025-408E-87F6-81AEB0DC9347}“/v AppIDFlags /t REG_DWORD /d 8 /f
发布于 2019-11-28 10:52:57
如果上面没有任何帮助,请确保您的文件是从相关项目打开的,而不是从另一个(旧的)项目打开的。
示例:
我非常接近重新安装我的VS,因为没有什么帮助我从另一个答案,但幸运的是,我意识到这一点在我的项目,我现在可以调试。
https://stackoverflow.com/questions/43642240
复制相似问题