mel*_*mel 2 c# windows-services visual-studio visual-studio-debugging pdb-files
Visual Studio和C#的新手。在Visual Studio 2017中构建一个名为Transactional Messaging的C#Windows服务,该服务依赖于一个名为Outbound Messaging的项目。当我开始调试并尝试在出站邮件文件上添加断点时,我得到
“此断点当前不会被命中。没有为该文档加载任何符号”
据我所知,VS仅无法为以下文件加载pdb文件:log4net.dll,Castle.Windsor.dll和Castle.Core.dll。我没有在事务消息服务中向文件添加断点的问题。我还无法识别行为模式或永久修复程序,因此此时错误似乎是随机的。一分钟后,我认为我已经找到了修复程序,当我尝试在当天晚些时候针对同一错误使用该修复程序时,我没有运气。我怀疑最近的一次停电意外关闭了我的计算机,因为它看起来可以缓存pdb文件,但是被告知这是一个长期的尝试。
我按照以下步骤调试服务:
installutil /u TransactionalMessaging.exeDebug文件夹中的VS命令行卸载Transactional Messaging Serviceinstallutil TransactionalMessaging.exeDebug文件夹中的VS命令行安装Transactional Messaging Service我尝试解决此错误的步骤:
我不确定这是否缺乏对VS,C#或代码库的理解。感谢您提供任何见解,我已经过了谷歌搜索阶段,并发布了一个新的问题作为不得已的选择。
当我在项目A中更改了代码却忘记了对其进行编译时,通常会收到此消息。
引用项目A的另一个项目B在屏幕上具有A的最新源代码,但是以A的过时程序集开始。因此,由于代码与程序集不匹配,因此无法启用断点。
还有另外一件事,我认为这是一个错误和麻烦,但是根据MS的说法,这是设计使然(我问过他们):
自Visual Studio 2015起,项目B的编译不会自动包含修改的引用程序集,在此示例中为程序集A。在B中某处有A的本地副本,而使用了该副本。与上面相同的结果:最新代码,但程序集已过时。
无需编译,而必须重建它!
还有另一件事:
您必须针对DEBUG模式进行编译。在发布模式下,默认项目设置不允许进行正确的调试,例如在VS 2008中进行的调试。
| 归档时间: |
|
| 查看次数: |
3906 次 |
| 最近记录: |