擴充程式的好,大家都知道…
自從Visual Studio 2010開始有擴充套件的概念後,我想現在不管是使用Visual Studio 2010或Visual Studio 2012的開發人員們,應該很少人有不使用擴充套件,那種檔案庫上人氣排行前五十名,有百顆星星…很少有不裝的。有空、無聊、發呆…也會去找看看沒有什麼可以好玩的新玩意。但使用的擴充套件一多,難免會有衝突、問題等等。今天碰到一個怪問題,查了一會兒實在理不出個頭緒,心想,不會吧,Visual Studio 2012重灌是個僅次於Windows重灌的大工程。最後用了一個很不好的必殺技來解決,先說,原因我還是沒查出來。
devenv.exe參數及說明
在偵錯Visual Studio開發工具本身時,有二種方式,一種是開兩個VS執行個體,VS1去附加VS2的執行緒,然後用VS2去進行操作,當VS2當掉時,就可以使用VS1收集到相關資訊給開發團隊。
第一種方式,大概你已經”當”到無能為力,上類似connect(產品錯誤回報區)或英文官方討論區,就會有人教你用第一種方式。
但我想自己找問題點,怎麼辦?這時你就必須對Visual Studio的啟動程式(devenv.exe,路徑在C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE)下參數。讓Visual Studio幫你收集資訊,讓我們可以參考這些資訊理來判讀Visual Studio到底發生了什麼問題。
- /Build
- 以指定的方案組態建置方案或專案。例如 "Debug"。如果可能用於多重平台,組態名稱必須以引號括住並包含平台名稱。例如: "Debug|Win32"。
- /Clean
- 刪除組建輸出。
- /Command
- 啟動 IDE 並執行命令。
- /Deploy
- 建置並部署指定的組建組態。
- /Edit
- 在這個應用程式正在執行的執行個體中開啟指定的檔案。如果沒有執行個體正在執行,則會以簡易視窗配置啟動新的執行個體。
- /LCID
- 在 IDE 中設定 UI 的預設語言。
- /Log
- 將 IDE 活動記錄至指定的檔案,以進行疑難排解。
- /Out
- 附加建置記錄至指定的檔案。
- /Project
- 指定要建置、清除或部署的專案。必須搭配Build、/Rebuild、/Clean 或 /Deploy 使用。
- /ProjectConfig
- 覆寫方案組態中指定的專案組態。例如 "Debug"。如果可能用於多重平台,組態名稱必須以引號括住並包含平台名稱。例如:"Debug|Win32"。必須搭配 /Project 使用。
- /Rebuild
- 清除後,再以指定的組態建置方案或專案。
- /ResetAddin
- 移除與指定之增益集相關的命令和命令 UI。
- /ResetSettings
- 還原 IDE 的預設值,選擇性的重設為指定的 VSSettings 檔。
- /ResetSkipPkgs
- 清除所有加入至 VSPackages 的 SkipLoading 標記。
- /Run
- 編譯並執行指定的方案。
- /RunExit
- 編譯並執行指定的方案,然後關閉 IDE。
- /SafeMode
- 在安全模式中啟動 IDE 並載入最少的視窗。
- /Upgrade
- 升級專案,或升級方案以及其中的所有專案。將視需要建立這些檔案的備份。如需備份程序的詳細資訊,請參閱有關 [Visual Studio 轉換精靈] 的說明。
- /debugexe
- 開啟要偵錯的指定可執行檔。此命令列的其餘部分會傳遞到這個可執行檔當做它的引數。
- /diff
- 比較兩個檔案。接受四個參數:SourceFile、TargetFile、SourceDisplayName (選擇性)、TargetDisplayName (選擇性)
- /TfsLink
- 開啟 Team Explorer 並為提供的成品 URI (如果已註冊)啟動檢視器。 /useenv使用 PATH、INCLUDE、LIBPATH 和 LIB 環境變數來代替 VC++ 建置的 IDE 路徑。
若要從命令列附加偵錯工具,請使用下列指令:VsJITDebugger.exe -p
MVC專案無法新增Controller
我在測試的MVC專案要新增一個Controller時,出現以下錯誤:
錯誤訊息對於找出問題,一點幫忙也沒有,所我devenv.exe /log的方式來產生記錄檔,記錄檔的位置在「C:\Users\(UserName)\AppData\Roaming\Microsoft\VisualStudio\11.0」下的ActivityLog.xml,記錄檔最上方有三個欄位「infos、warnings、errors」,最主要要注意errors,而且會使用紅色高亮度顯示來提醒。不過,我發生的那個錯誤沒有在記錄檔errors裡留下足跡,倒是有看到幾個擴充套件的warnings。一套一套移除擴充套件找是誰搞的鬼,實在太浪費時間,時間有限。
無法新增Controller事大,重裝擴充套件事小,最後放大絕:devenv.exe /resetuserdata(這是我第二次使用它 XD),將Visual Studio回復至初始狀態。重新開啟專案,新增Controller,搞定+寫文ㄍㄢˋ一下自己,下次玩什麼鬼套件,請各位使用VM裡的測試機先玩,玩掛了也不用像我搞的那麼狼狽不堪。
如果各位前輩、長者、高人…知道那個錯誤訊息是什麼鬼,再麻煩跟小弟我說一下。
沒有留言:
張貼留言
感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。