visual-studio - tag - visual studio code autocomplete html
¿Depuración de paquetes NuGet privados? (6)
He publicado algunas bibliotecas privadas / internas como paquetes NuGet, usando la opción de símbolos. Los paquetes y símbolos están alojados en un recurso compartido de red interno. ¿Cómo puedo ingresar a estos paquetes cuando se depura?
Cuando paso al código de estos paquetes, Visual Studio muestra una página "Sin fuente disponible" / "Sin símbolos encontrados". Al hacer clic en "Cargar símbolos" solo se permiten archivos pdb, no paquetes de símbolos.
Estos paquetes no son adecuados para su publicación en NuGet Gallery / SymbolSource.
Ahora también hay una herramienta llamada GitLink ( https://github.com/GitTools/GitLink ) que puede insertar en los enlaces del archivo de símbolos a los archivos GIT versionados de su fuente.
Descubrí que no funciona en absoluto. Las referencias del paquete NuGet están cerradas y no se pueden usar en el depurador. Lo que hice en su lugar fue eliminar la referencia de ensamblaje del proyecto y, en su lugar, agregué una referencia a una compilación de Depuración de la DLL directamente por la ruta.
Luego para detener el depurador en algún lugar de ese código, inserté la llamada System.Diagnostics.Debugger.Break();
en ese código. Cuando se ejecuta, el depurador se detendrá en esa línea, que es básicamente un punto de corte definido por el código. Esto abrirá el archivo fuente correcto y saltará a esa línea automáticamente.
Abra el proyecto de biblioteca en una segunda instancia de VS y desplace las llamadas de Break
según sea necesario y reconstruya la biblioteca. Cuando termine, elimine esas llamadas del código de la biblioteca y restaure la referencia original (es posible que deba volver a instalar el paquete NuGet).
Hay un par de opciones; uno es configurar y configurar su propio servidor de símbolos .
También puede descargar Inedo''s ProGet , habilitar el servicio de símbolos en el feed de destino y luego publicar sus paquetes en ProGet. Todo esto se puede hacer con la edición gratuita de ProGet.
descargo de responsabilidad - mi trabajo diario es en Inedo
La forma en que lo hacemos (y funciona):
- Genera "* .symbols.nupkg"
- Implementar el paquete de símbolos en el servidor SymbolSource (privado)
- Configurar IDE
- Agregar la biblioteca requerida para proyectar usando NuGet (desde nuestro servidor SymbolSource)
- ¡Depurar!
Enlaces que pueden ser útiles:
Importante: "Herramientas de depuración para Windows" no se instalará si detecta una versión de Red C ++ Redist más nueva de lo que necesita / espera
Vs configuración para depurar usando SymbolSource
La URL para agregar es como
http://your.symbolsource-server.com:[port]/[appContext]/WinDbg/pdb
Puede configurar su propio servidor de fuente de símbolos internamente utilizando esos recursos compartidos de red. Puedes encontrar un tutorial paso a paso en mi blog.
Básicamente se trata de crear una aplicación MVC vacía y ejecutar
Install-Package SymbolSource.Server.Basic
A partir de ahí, debe configurar la infraestructura de alojamiento y configurar Visual Studio y crear agentes.
¿Cuál es el comando que usaste para generar los paquetes con los símbolos? Traté de hacer exactamente lo mismo que el nuget.exe pack -Prop Configuration=Release Framework.csproj -Symbols
Esto crea dos archivos: Framework.nupkg y Framework.symbols.nupkg . Puse estos archivos en un recurso compartido de red, los usé de otro proyecto y la depuración funcionó bien.
¿Has intentado poner los archivos * .nupkg y * .symbols.nupkg en un disco local en lugar de un recurso compartido de red?