11

我无法在 Silverlight Web 应用程序的服务器端设置断点。我知道代码可以执行,因为我可以按照我的预期中断异步回调。只有我的机器有这个问题。

我知道这似乎是一个常见问题,但是我所见过的所有答案都没有帮助我,包括:

  • 断点是红色的,表示它将被命中。
  • 在 Web 项目的属性上选中 Silverlight 复选框。
  • 清理并构建解决方案。
  • 从源代码管理中获取新版本。
  • 从我的网络浏览器中清除所有内容:缓存、cookie 等...(我使用的是 IE)。
  • 清除 %windir%/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files 中的临时文件。
  • 检查所有项目都在配置管理器中构建。
  • 一切都设置为调试而不是在配置管理器中发布。
  • 手动附加到 w3wp.exe 进程。
  • IIS 重置。
  • IIS 设置为使用 .NET v4,管道设置为经典未集成。
  • 重新安装 IIS 并重新配置。
  • 重新安装了 Visual Studio。
  • 重新安装了 Silverlight。

我正在使用 Visual Studio 2010 (.NET 4)、Silverlight 4,并使用 IIS(我认为是 6,不记得了)来托管网站。

我发现的有趣行为(可能有助于诊断):

  • 如果我使用 Visual Studio 自己的开发服务器而不是 IIS 来托管站点,它仍然不会中断。
  • 我在 Debug -> Windows -> Proccess (Ctrl D, P) 下看到一篇博文(不记得在哪里提供链接),以检查 w3wp.exe 进程在“调试”标题下是否设置为“Silverlight” - 我的设置为“托管”并且在连接时无法将其设置为 Silverlight。在检查了正在工作的机器上的同事设置后,他的也被设置为托管。

任何建议将不胜感激!

更新:感谢所有建议。我决定格式化 C:\,而不是花更多时间玩,因为我的机器无论如何都非常需要它。我仍然不确定问题是什么,但它现在正在工作。

在此之前,我确实尝试了其他一些操作,例如删除 .sou 文件,并检查我运行的是与此博客文章中提到的相同版本的 Silverlight,但没有成功。希望这将作为未来有此问题的人的清单。

4

3 回答 3

3

在使用 Silverlight 时,不应附加到 w3wp.exe。这是 IIS 的工作进程,与您的 Silverlight 代码无关。浏览器进程实际上执行您的 Silverlight 代码。您能否尝试在 IE 中打开 Silverlight 托管页面,然后使用 Visual Studio 附加到 iexplore.exe(再次检查 Silverlight 作为您要调试的代码类型)?

这应该允许您毫无问题地调试 Silverlight 代码。

于 2012-07-18T13:08:09.190 回答
0

我知道我迟到了,但我在 Silverlight 解决方案中遇到了这个问题。事实证明,问题在于我在取消Tools>Options>Debugging>General;选中后签入了“仅启用我的代码(仅限托管)”选项,我的断点都被命中了。

于 2013-10-31T09:52:02.727 回答
0

看来您已经尝试了几乎所有方法。您可能需要检查 ServiceReference.ClientConfig 文件。有时 WCF 服务更新会导致地址和端口更改。您还可以使用 Fiddler 进行检查,以查看您的服务调用指向的位置。

于 2012-07-18T09:39:44.947 回答