Silverlight不能調試問題摘) Unable to start debugging. Cannot locate Microsoft Internet Explorer.

來源:互聯網
上載者:User
調試時無法開啟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.

如果直接運行,那麼能夠開啟,但是開啟之後Visual Studio還是會彈出一樣的錯誤。

這個問題折騰了我半天,我嘗試了重啟電腦,重裝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暫停一下,否則條目太多了。

但是事件條目還是太多了,所以我把Result為SUCCESS的條目過濾掉,因為我們只關注那些失敗的條目。

然後對日誌條目進行細緻的排查,終於發現了問題根源:

原來Visual Studio在調試或者啟動並執行時候會去讀取註冊表中的HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\iexplore.exe項,然後讀取不到,因而才報那個錯誤。難怪提示Cannot locate Microsoft internet explorer呢。

我開啟regedit登錄編輯程式,找到這個路徑,然後把缺失的項加上去,重新回到Visual Studio中F5,終於可以了,內牛滿面~

希望我的解決方案能夠給你一些啟發,以後遇到類似莫名其妙的問題,可以想到使用PM這個工具去排查問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.