我無法在最簡單的VSIX項目中調試最簡單的VS包。如何調試在Visual Studio 2015中創建的VSIX中的Visual Studio包
重現步驟:
創建一個VSIX項目:文件/新建/項目/擴展/ VSIX項目
添加的Visual Studio包:右鍵單擊在解決方案的項目節點Explorer並選擇添加/新建項目/可擴展性/ Visual Studio包裝
打開新創建的pa ckage文件(
VSPackage1.cs
)將斷點上線68的Initialize()
第一線,base.Initialize()
按
F5
開始調試
這將啓動的Visual Studio 2015年的一個實驗實例中,與包安裝(確認工具/擴展和更新...),但斷點被禁用:
以上步驟來自新創建的VSIX項目的入門指南(index.html
),所以它應該已經工作。
附加信息:
- 解決方案配置爲調試,平臺是任何CPU
- 該項目的調試屬性自動擁有啓動外部程序設置爲
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
和命令行論據設置爲/rootsuffix Exp
- 我設置個拷貝調試符號到輸出目錄到
True
,之後的projectname.pdb
文件中正確地出現在bin\Debug
- 的
bin\Debug\projectname.vsix
文件包含projectname.pdb
- 該項目包括在資產在
source.extension.vsixmanifest
與Type=Microsoft.VisualStudio.VsPackage
- 我嘗試添加該項目在資產在
source.extension.vsixmanifest
與Type=Microsoft.VisualStudio.MefComponent
但這似乎並沒有太多。在此之後的第一次運行中,斷點似乎已啓用,但未被擊中。在第二次和以後的運行中,斷點在運行期間回到禁用狀態。 - 我試着改變清單中的版本,但是我注意到了任何影響。
- 我試着單獨運行實驗實例,並使用調試器附加到實驗實例上,但其運行方式與直接啓動
F5
時的操作方式沒有什麼不同。 - 我嘗試在
Initialize
方法中添加Console.WriteLine
語句,但我在Output
窗口中找不到調試文本。 - 我試過x86平臺而不是任何CPU,但結果相同。
- 一位同事遵循相同的步驟,得到了相同的結果,所以它可能不是特定於我的電腦。 (我邀請任何人請遵循相同的步驟,並證明我錯了,或者被發現在我的腳步的錯誤。)
這一切似乎表明,在VS包是沒有得到初始化,雖然這明顯是安裝。我錯過了什麼?如果相關,here是VS包的源代碼,而here是整個虛擬項目。
如果您需要更多信息,請讓我知道。
工作就像一個魅力,謝謝! – janos