Solo estoy escribiendo una extensión VSIX para Visual Studio 2010 y no puedo encontrar la manera de depurarla.
Un método obvio es enviar mensajes. Usos de la plantilla de extensión Trace.WriteLine()
. ¿Pero dónde encontrar su salida?
Solo estoy escribiendo una extensión VSIX para Visual Studio 2010 y no puedo encontrar la manera de depurarla.
Un método obvio es enviar mensajes. Usos de la plantilla de extensión Trace.WriteLine()
. ¿Pero dónde encontrar su salida?
Las extensiones de Visual Studio se pueden depurar como cualquier otra aplicación. Solo necesita configurar la experiencia de depuración para iniciar devenv con la extensión cargada. Prueba lo siguiente
Haga clic en el botón de opción para Start External Program
. Apunte al binario devenv.exe. En mi máquina está ubicado en
C: \ Archivos de programa (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe
Sin embargo, en una máquina que no sea x64, puede eliminar la parte "(x86)".
Luego establezca los argumentos de la línea de comando en /rootsuffix Exp
. Esto le dice a Visual Studio que use la colmena experimental en lugar de la colmena de configuración normal. De forma predeterminada, las extensiones de VSIX cuando se construyan se registrarán en la colmena experimental.
Ahora puede F5 e iniciará Visual Studio con su VSIX como una extensión disponible.
La respuesta aceptada por @JaredPar es técnicamente correcta, pero adolece del hecho de que debe rehacerla para cada desarrollador, cada vez que obtenga una copia nueva del código y cada vez
csproj.user
que se elimine el archivo. Cuando lo hace de esa manera, la configuración se guarda en elcsproj.user
archivo.Una mejor opción es poner la configuración en el
csproj
archivo para que no se pierda. Desafortunadamente, Visual Studio no le permite hacer esto automáticamente, por lo que debe agregar la configuración manualmente. Afortunadamente, la configuración es la misma para cualquier proyecto.Haga clic derecho y descargue el proyecto, luego haga clic derecho nuevamente y edite el
csproj
archivo del proyecto. En el XML, agregue lo siguiente al primeroPropertyGroup
, por ejemplo, justo despuésTargetFramework
.Esto tiene las siguientes ventajas;
Como indica @MBulli en los comentarios, si ha realizado los cambios en la respuesta aceptada, elimine su
*.csproj.user
archivo porque la configuración anulará las que agregó alcsproj
archivo principal .fuente
El método OutputWindowHelper.OutputString escribe en el panel de la ventana de salida 'General' (Ctrl Alt o). Agregué esta línea en mis referencias .csproj para obtener esto en VS 2013
También vea esta respuesta .
fuente
Si intenta depurar una UnitTestExtension, también debe adjuntar el depurador a los procesos vstest. *. Exe como se describe aquí . De lo contrario, es posible que vea el punto de interrupción de activación, pero el depurador nunca lo alcanzará.
fuente