为什么远程调试无法用于由IIS托管的WCF服务?

3

我有一个简单的WCF服务,由IIS托管,但在远程调试时遇到了无法加载符号或命中断点的常见问题,尽管我认为我正在正确地做一切。这里是我遵循的简单步骤的屏幕截图序列; 请有眼力的人指出我漏掉了什么吗?

  1. 应用程序的dll位于此处指示的目录中,具有自己的应用程序池,如下所示:enter image description here

  2. 包含用于调试信息的dll和pdb的文件夹如下所示:

enter image description here

我会尽力为您翻译。以下是要翻译的内容:
  1. 在远程计算机上,我以管理员身份启动Visual Studio远程调试监视器:

enter image description here

在我的本地计算机上,我的代码存在于那里,我转到工具|附加到进程,并导航到远程计算机,选择托管我的应用程序的服务池的w3wp.exe进程。

enter image description here

回到远程机器上,VS调试监视器显示我已连接:

enter image description here

  1. 但是在我的本地机器上,没有调试信息可用。是的,我非常确定在本地构建的代码是调试版本,并且与移动到远程机器的代码完全匹配:

enter image description here


1
在您的第四张屏幕截图中,我注意到“附加到:自动(本机代码)”在顶部行中。请尝试手动将其设置为“托管”。 - nodots
NODOTS,谢谢,那就是答案!我选择了“托管(v4.5,v4.0)代码”,它运行得非常好。我真的很感激你的帮助。 - markaaronky
1个回答

2
NODOTS在他/她的评论中提供了解决问题的答案。我不确定如何将该评论标记为正确答案并显示屏幕快照,因此我在这里进行说明。
我需要选择如下屏幕截图所示的“Managed (v4.5, v4.0) code”,用红圈圈出。非常感谢NODOTS提供的解决方案。
请点击以下链接查看屏幕截图:enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接