7

我想開發我的第一個Visual Studio擴展項目,我安裝了VS10 SDK,並且能夠創建一個新項目並且可以很好地構建它,但是當我嘗試調試符號時未加載。我知道我可以調試到VSIX項目,因爲我已經在線下載了一個示例項目,並且它的符號被加載,並且中斷點被擊中罰款http://weshackett.com/2009/11/configure-vsix-project-to-enable-debugging/)。 所以必須是我創建VSIX項目(或許!)的方式。 我注意到的一件事是,dll和文件沒有被複制到本地「應用程序數據」區域,只有清單被複制,而對於示例項目,所有文件都被複制到包括dll 。我已經比較了兩者之間的項目設置,它們都是相同的。 我希望它是有道理的,如果我可以提供任何更多的細節,然後讓我知道...無法調試VSIX項目

+0

符號不加載任何東西或只是你的代碼?你確定你的代碼實際上正在加載(通過信息框或其他機制)嗎? – JaredPar

+0

嗨,好像這個問題比這個更基本,DLL編譯時不會被複制到Debug目錄。我正在使用標準的VSIX項目模板。 – Rubans

+0

討厭問,但你確定你正在構建調試嗎? – JaredPar

回答

13

好吧,我設法讓它工作。爲了做到這一點,我必須卸載vsix項目並將文件編輯爲xl文檔。

無論是從項目中移除文件中的以下行:

<IncludeAssemblyInVSIXContainer> 
    false 
</IncludeAssemblyInVSIXContainer> 
<IncludeDebugSymbolsInVSIXContainer> 
    false 
</IncludeDebugSymbolsInVSIXContainer> 
<IncludeDebugSymbolsInLocalVSIXDeployment> 
    false 
</IncludeDebugSymbolsInLocalVSIXDeployment> 
<CopyBuildOutputToOutputDirectory> 
    false 
</CopyBuildOutputToOutputDirectory> 
<CopyOutputSymbolsToOutputDirectory> 
    false 
</CopyOutputSymbolsToOutputDirectory> 

或將它們設置爲true:

<IncludeAssemblyInVSIXContainer> 
    true 
</IncludeAssemblyInVSIXContainer> 
<IncludeDebugSymbolsInVSIXContainer> 
    true 
</IncludeDebugSymbolsInVSIXContainer> 
<IncludeDebugSymbolsInLocalVSIXDeployment> 
    true 
</IncludeDebugSymbolsInLocalVSIXDeployment> 
<CopyBuildOutputToOutputDirectory> 
    true 
</CopyBuildOutputToOutputDirectory> 
<CopyOutputSymbolsToOutputDirectory> 
    true 
</CopyOutputSymbolsToOutputDirectory> 

或增加他們......節點下,如果它們不存在。

一旦我刪除了這些行並重新構建解決方案,dll和pdb就像預期的那樣被複制到bin \ debug文件夾以及「AppData \ Local \ Microsoft \ VisualStudio \ 10.0Exp \ Extensions \」文件夾。

+0

確定找到與此問題相關的其他鏈接:https://connect.microsoft.com/VisualStudio/feedback/details/515487/vs-sdk-vsix-project-properties-tab-is-incomplete-and-therefore-misleading – Rubans

+0

http://stackoverflow.com/questions/1778797/vs-2010-mouse-processor-extension-not-working – Rubans

+0

http://codegoeshere.blogspot.com/2009/11/vsix-with-vs2010-beta-2- sdk.html – Rubans