c# - ubicacion - pdb visual studio
“Los símbolos para el módulo MyLibrary.dll no se cargaron”? (13)
Estoy intentando aprender el desarrollo de Windows Phone creando una aplicación básica que proporciona información sobre Pokémon. Para hacer esto, he creado una biblioteca de clases portátil (PokeLib.dll) para que sea compatible con aplicaciones universales. He probado esto a través de un proyecto en la misma solución ("Prueba"), y funciona bien. Puedes ver el código de estos en mi Github , pero por lo que puedo decir, todo está bien. Estos dos proyectos están en la única solución. Para la solución de la aplicación de Windows Phone, agregué PokeLib como un "proyecto existente", agregué las referencias y escribí algunas líneas de código para asegurarme de que pudiera llamarlo bien:
MainPage.xaml:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Name="GetDataButton" Content="GetData" Click="GetDataButton_Click" Grid.Row="0" HorizontalAlignment="Center"/>
<TextBlock Name="DataText" Text="Click to get data" Grid.Row="1" Padding="10"/>
</Grid>
MainPage.xaml.cs:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
p = new Pokemon(1); // gets data for Pokemon #1 (Bulbasaur)
}
Pokemon p;
int counter = 0;
private async void GetDataButton_Click(object sender, RoutedEventArgs e)
{
DataText.Text = "Fetching... Count: " + ++counter;
if (counter == 1) // first time button''s clicked
{
await p.Create(); // populates the data container
DataText.Text = String.Format("Pokemon #{0}: {1}", p.Id, p.Name);
}
}
Cuando intento ejecutar esto en un emulador de teléfono, recibo el siguiente mensaje: . Estoy creando el proyecto como "depuración" y tengo la opción "Habilitar solo mi código" desactivada. No estoy seguro de qué hacer en el panel Símbolos, pero también puedo agregar una captura de pantalla de eso, si fuera útil.
De todos modos, la aplicación se abre, pero se congela cuando presiono el botón GetData. Esperaba que se congelara por un momento, ya que la llamada se realiza de forma síncrona, pero esto es permanente. Sin embargo, no se lanzan errores / excepciones. El depurador tampoco responde cuando intento ingresar a la llamada p.Create () (probablemente provenga del mensaje en la captura de pantalla).
¿Alguien tiene una idea de lo que estoy haciendo mal? ¡Gracias!
- estudio visual cercano.
- Limpieza rápida realizada con cclener.
- Solución limpia y proyecto de reconstrucción
Y esto funcionó para mí. (Realmente no sé cómo)
¡Asegúrese de no tener varias ventanas VS abiertas, específicamente del mismo proyecto! :)
Acabo de arreglar el mismo error. Fui a Herramientas -> Opciones -> Depuración -> Símbolos y presioné Vaciar el Caché de Símbolos en Visual Studio 2013. Probablemente, destrozar las carpetas bin y obj haga lo mismo de una manera mucho menos elegante.
Así es como se arregló la mía.
Tenía la misma página abierta en dos navegadores y al principio elegí el primer navegador y luego el segundo navegador para la depuración sin cerrar el primer navegador, cerrando uno de ellos, lo arreglé ...
En Visual Studio seleccioné Construir -> Limpiar solución. Eso se deshizo de este mensaje.
En mi caso, tenía otra versión de la aplicación en ejecución que estaba usando el mismo .dll. Esto evitó que el GAC se actualizara con la versión de depuración. Tuve que matar el proceso a través del administrador de tareas.
Está depurando su código con una dll referenciada que no está compilada para el modo de depuración.
Compilar dll referenciado en depuración y utilizarlo.
Verifique las direcciones dll a las que se hace referencia para asegurarse de que está usando la dll correcta.
Estaba teniendo este error cuando tenía un ensamblaje que estaba en el GAC y Visual Studio no lo eliminaba antes de compilar / depurar. Pude resolverlo eliminando esa biblioteca (dll) del GAC.
//if pokelib.dll contained assembly: PokeLibrary.Pokemon
//and it showed up in the GAC (c:/windows/assembly/) with that assembly name
gacutil /u PokeLibrary.Pokemon
Esto resolvió la condición de advertencia y me permitió depurar una vez más.
La única forma de evitar este mensaje es ir a Depurar> Opciones y configuraciones> Depurar> Símbolos, y luego seleccionar el botón de radio llamado "Todos los módulos, a menos que se excluya".
No estoy seguro de que esta sea la solución ideal, pero está funcionando por ahora.
Puede ir a las Propiedades del proyecto -> Crear -> Botón Avanzado -> desplegable de información de depuración y cambiar su valor a "completo".
Puedes usar DotPeek
para generar archivos PDB para la biblioteca y luego colocarlos en la misma carpeta que tu DLL. Una opción más, si el código es de código abierto, es clonar el repositorio, agregar el proyecto a su proyecto, agregar dependencia, establecer el orden de compilación e iniciar la depuración.
También me enfrenté con el mismo error y, en mi caso, el problema se debió al archivo de transformación web.config que quería configurar de otra manera que no sea debug.config.
Tuve que hacer un seguimiento de un error utilizando stage branch y, por lo tanto, configuré la configuración de la solución activa como Stage .
- Vaya a la opción de propiedad de su solución de proyecto
- Haga clic en el botón Administrador de configuración en la parte superior derecha.
- Ahora profundice en la configuración de la solución activa de la opción desplegable y elija el archivo de configuración (web) para que su proyecto actúe cuando lo ejecute.
Elegí el escenario y cuando construí el proyecto obtuve este error y, debido a eso, los depuradores quedaron inactivos.
Pero cuando configuro la opción de nuevo para depurar , el problema se resolvió.