“I simboli per il modulo MyLibrary.dll non sono stati caricati”?

Sto cercando di imparare Windows Phone dev realizzando un’app di base che fornisce informazioni su Pokemon. Per fare questo, ho creato una libreria di classi portatile (PokeLib.dll) in modo che sia compatibile con le app universali. L’ho testato tramite un progetto nella stessa soluzione (“Test”), e funziona perfettamente. Puoi dare un’occhiata al codice di questi sul mio Github , ma per quanto posso dire, va tutto bene. Questi due progetti sono nell’unica soluzione. Per la soluzione dell’app Windows Phone, ho aggiunto PokeLib come “progetto esistente”, aggiunto i riferimenti e scritto alcune righe di codice per assicurarmi di poterlo chiamare okay:

MainPage.xaml:

     

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); } } 

Quando provo a eseguire questo su un emulatore di telefono, ottengo il seguente messaggio: . Sto costruendo il progetto come “debug” e ho “Enable Just My Code” deselezionato. Non sono sicuro di cosa fare sotto il pannello Simboli, ma posso aggiungere uno screenshot anche di questo, se fosse utile.

Ad ogni modo, l’app si apre, ma si blocca quando premo il pulsante GetData. Mi aspettavo che si bloccasse per un momento da quando quella chiamata veniva eseguita in modo sincrono, ma questo è permanente. Tuttavia, non vengono emessi errori / eccezioni. Anche il debugger non risponde quando tento di passare alla chiamata p.Create () (probabilmente derivante dal messaggio nello screenshot).

Qualcuno ha un’idea di cosa sto facendo male? Grazie!

Puoi andare al menu Proprietà progetto -> Crea -> Pulsante avanzato -> Informazioni di debug e modificarne il valore su “completo”.

In Visual Studio ho selezionato Build -> Clean Solution. Questo si è sbarazzato di questo messaggio

Ho appena corretto lo stesso errore. Sono andato su Strumenti -> Opzioni -> Debug -> Simboli e premuto Empty Symbol Cache in Visual Studio 2013. Probabilmente cestinare le cartelle bin e obj è praticamente lo stesso in un modo molto meno elegante.

Stavo avendo questo errore quando avevo un assembly che era nel GAC e Visual Studio non lo stava rimuovendo prima di compilare / debug. Sono stato in grado di risolverlo rimuovendo quella libreria (dll) dal 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 

Questo ha risolto la condizione di avviso e mi ha permesso di eseguire nuovamente il debug.

Stai eseguendo il debug del tuo codice con una dll di riferimento che non è stata compilata per la modalità di debug.

Compilare dll di riferimento nel debug e usarlo.

Controllare gli indirizzi delle dll di riferimento per accertarsi di utilizzare la dll corretta.

Assicurati di non avere più windows VS aperte, in particolare dello stesso progetto! 🙂

  1. vicino studio visivo.
  2. Effettuato una pulizia rapida con cclener.
  3. Pulisci soluzione e ricostruisci progetto

e questo ha funzionato per me. (Io davvero non so come)

Nel mio caso ho avuto un’altra versione dell’applicazione in esecuzione che utilizzava lo stesso dll. Questo ha impedito al GAC di essere aggiornato con la versione di debug. Ho avuto l’uccisione del processo attraverso il task manager.

L’unico modo per aggirare questo messaggio è accedere a Debug> Opzioni e impostazioni> Debug> Simboli, quindi selezionare il pulsante di opzione “Tutti i moduli, a meno che non siano esclusi”.

Non sono sicuro che questa sia la soluzione ideale, ma per ora funziona.

È ansible utilizzare DotPeek per generare file PDB per la libreria, quindi posizionarlo nella stessa cartella della DLL. Un’altra opzione, se il codice è open source, è quello di clonare il repository, aggiungere il progetto al progetto, aggiungere dipendenza, impostare l’ordine di costruzione e avviare il debug.

Ho scoperto che il progetto su cui stavo ricevendo il messaggio, veniva ottimizzato una volta costruito.

Sono passato alle proprietà del progetto, scheda Compile, opzioni di compilazione avanzate … e deselezionata la casella Enable Optimizations

DeselectEnableOptimizations

questo è il modo in cui il mio è stato riparato,

Ho avuto la stessa pagina aperta in due browser e in un primo momento ho scelto il primo browser e poi il secondo browser per il debug senza chiudere il primo browser, chiudendo uno di essi è stato risolto …

Ho anche affrontato lo stesso errore e nel mio caso il problema era dovuto al file di trasformazione di web.config che volevo impostare diversamente da debug.config.

Ho dovuto rintracciare un bug usando il ramo dello stage e quindi ho impostato la configurazione della soluzione triggers come Stage .

  • Vai all’opzione di proprietà della soluzione del tuo progetto
  • Fare clic sul pulsante Configuration Manager in alto a destra.
  • Esegui ora il drill down della configurazione triggers della soluzione a discesa e scegli il file di configurazione (web) per il tuo progetto su cui agire quando lo esegui.

Avevo scelto il palco e quando ho creato il progetto ho ricevuto questo errore e, a causa di quel problema, i debugger erano diventati inattivi.

Ma quando ho impostato l’opzione per il debug , il problema è stato risolto.