zoukankan      html  css  js  c++  java
  • Silverlight不能调试问题(转摘) Unable to start debugging. Cannot locate Microsoft Internet Explorer.

    调试时无法打开IE窗口的问题

    原文作者 Kevin Yang

    原文链接 http://www.imkevinyang.com/2009/09/%E8%A7%A3%E5%86%B3silverlight%E6%97%A0%E6%B3%95%E8%B0%83%E8%AF%95%E7%9A%84%E9%97%AE%E9%A2%98.html

    这个问题是我最近才遇到的,我也不知道为什么突然之间,我的Silverlight工程按下F5的时候无法调试,弹出下面这个对话框:Unable to start debugging. Cannot locate Microsoft Internet Explorer.

    image

    如果直接运行,那么能够打开,但是打开之后Visual Studio还是会弹出一样的错误。

    image

    这个问题折腾了我半天,我尝试了重启电脑,重装Silverlight Tools,新建干净的测试工程,修改系统和Visual Studio的默认浏览器(注意,系统和Visual Studio的默认浏览器是独立设置的)均以失败告终。Google了很久,Silverlight官方论坛上倒是有不少帖子和这个相关的,但我细细看了之后发现没有一个回帖能够解决我的问题的。有个发帖的家伙问题是解决了,但是不把怎么解决的说一下就跑了,强烈bs一下这种人!

    话说回来,我最后是怎么解决这个问题的呢,是用了Process Monitor这个小工具(微软Sysinternal荣誉出品!)。之前有一次asp.net网站的GlobalError里头出现了一个“文件不存在”的HTTPException,查了半天没查出来,后来使用这个工具监视了一下WebDevServ.exe进程之后发现该进程尝试去访问某个不存在的文件。

    Process Monitor,可以监控当前系统中所有进程的活动,包括对文件系统的操作,读写注册表,网络访问以及线程活动等等,非常实用的调试维护工具。

    我打开这个工具,选择监视进程为devenv.exe。在Visual Studio中F5开始调试,立即弹出出错对话框,OK,把PM暂停一下,否则条目太多了。

    image

    但是事件条目还是太多了,所以我把Result为SUCCESS的条目过滤掉,因为我们只关注那些失败的条目。

    image

    然后对日志条目进行细致的排查,终于发现了问题根源:

    image

    原来Visual Studio在调试或者运行的时候会去读取注册表中的HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\iexplore.exe项,然后读取不到,因而才报那个错误。难怪提示Cannot locate Microsoft internet explorer呢。

    我打开regedit注册表编辑器,找到这个路径,然后把缺失的项加上去,重新回到Visual Studio中F5,终于可以了,内牛满面~

    image

    希望我的解决方法能够给你一些启发,以后遇到类似莫名其妙的问题,可以想到使用PM这个工具去排查问题。

  • 相关阅读:
    NYOJ 123士兵杀敌(四)(树状数组)(插线问点)
    NYOJ 634万里挑一(优先队列)
    NYOJ 119士兵杀敌(三)(RMQ问题)(ST表)
    NYOJ 116士兵杀敌(二)(树状数组)(插点问线)
    迁移anaconda导致原来jupyter notebook无法使用
    Anaconda安装
    pandas注意点
    群与双线性映射
    numpy.cov() 协方差计算方法
    Annoy模型
  • 原文地址:https://www.cnblogs.com/haio/p/2368563.html
Copyright © 2011-2022 走看看