I\'m trying to develop my first visual studio extensions project, I have VS10 SDK installed and was able to create a new project and can build it fine, however when I attemp
OK I managed to get it working. In order to do so, I had to unload the vsix project and edit the file as an XML document.
Either remove the following lines from the project file:
<IncludeAssemblyInVSIXContainer>
false
</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>
false
</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>
false
</IncludeDebugSymbolsInLocalVSIXDeployment>
<CopyBuildOutputToOutputDirectory>
false
</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>
false
</CopyOutputSymbolsToOutputDirectory>
or set them to true:
<IncludeAssemblyInVSIXContainer>
true
</IncludeAssemblyInVSIXContainer>
<IncludeDebugSymbolsInVSIXContainer>
true
</IncludeDebugSymbolsInVSIXContainer>
<IncludeDebugSymbolsInLocalVSIXDeployment>
true
</IncludeDebugSymbolsInLocalVSIXDeployment>
<CopyBuildOutputToOutputDirectory>
true
</CopyBuildOutputToOutputDirectory>
<CopyOutputSymbolsToOutputDirectory>
true
</CopyOutputSymbolsToOutputDirectory>
or add them under the ... node if they don't exist.
Once I removed these lines and rebuilt the solution, the dll and pdb were copied now as expected to the bin\debug folder as well as to the "AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\" folder.
I ran into something simular in Visual Studio 2017. The options described by @Rubans don't seem to be necessary (anymore?).
In your current build configuration (Most likely Debug
), you need to make sure, that Deploy VSIX content to experimental instance for debugging
is checked in the Vsix property page:
Been there.. in VS-2019 I'm developing a VSIX Async which worked fine, however at a certain point, Visual Studio Experimental Version stopped loading my VSIX in debug mode.
I am not sure of the root cause, but it coincided with opening a second VSIX project template in the same solution of Visual Studio. Don't know if that has anything to do with the issue, but on the first run, I found both VSIX-es loaded into the Experimental version session. At that point, I closed and reset the Experimental Version. On the next runs, no VSIX seemed to be loaded into the Experimental Version, when debugging.. very frustrating !
The solution I found, fiddling around
For me, above sequence lets the problem disappear. VSIX is loaded as it should.
Accidentally found how to fix it in vs 2017 15.9.20
Shortly: uninstall your extension in new VS, re-run new VS by F5, then clean and rebuild solution, then run by F5 again.
When you re-run VS after uninstalling your extension, new VS "understands" that your extension was removed. After that you rebuild code and "put" it in new VS.
Detaily:
I had the same looking issue - debugging would start but wherever I would set a breakpoint I'd see it "useless" and with "breakpoint will not be hit" annotation. I checked all the stuff in the other answers here and then I found a "contributor guide" in one plugin project repository (permalink to specific version).
So what helped me was the following: open the project properties, and on the "Debug" tab ensure that:
"Start action" is set to "Start external program" and the path matches the path to devenv.exe
- such as "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" - that's what it was by default.
"Start options" had "command line arguments" set to /rootsuffix Exp
- that was missing by default and I had to add it.
So once I added /rootsuffix Exp
it would start working - next time I pressed F5 the breakpoints in the plugin code would work.
I have the same problem,And in visual studio 2019,the debug command run arguments is /rootsuffix Roslyn
I try to update project and rebuild;but it not work.
Luckly, I find another way to debug it.
That is unitTest
.
In the newest solution which created by the vsix template; It contains the uniteTests project.
In the testmethod,you can invoke VerifyCSharpc
method to test Diagnostic
,and invoke VerifyCSharpFix
method to test Fix
; when you debug the unitTest ,you can hit the right breakpoint