【发布时间】:2012-07-17 17:39:17
【问题描述】:
我无法在 Silverlight 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,在此 blog post 中提到,但没有运气。希望这将作为将来遇到此问题的人的清单。
【问题讨论】:
-
您的应用程序没有配置为浏览器外吗?我在打开该设置时遇到了各种与调试相关的问题(可以在项目属性中的某处更改,现在不记得确切的位置了)。
-
感谢您的评论。它只在浏览器中运行。明天我会看看那个设置 - 我现在不在工作来测试它。
-
呃,我经常遇到类似的问题,通常在不同的浏览器中尝试会有所帮助...例如,您可以尝试在 Chrome 中进行测试。附加到使用 Silverlight 的 chrome.exe 进程并尝试 - 这可能是临时修复...
-
谢谢你的建议,我明天试试。我不太确定这是问题所在,但我愿意尝试任何事情!
-
我看到你选择了核选项。我喜欢它。
标签: c# silverlight breakpoints