webentwicklung-frage-antwort-db.com.de

"Symbole für das Modul MyLibrary.dll wurden nicht geladen"?

Ich versuche, Windows Phone Dev zu lernen, indem ich eine grundlegende App mit Informationen zu Pokemon erstellt. Zu diesem Zweck habe ich eine portable Klassenbibliothek (PokeLib.dll) erstellt, die mit universellen Apps kompatibel ist. Ich habe dies über ein Projekt in der gleichen Lösung ("Test") getestet, und es funktioniert einwandfrei. Sie können den Code für diese auf my Github anschauen, aber soweit ich das beurteilen kann, ist alles gut. Diese beiden Projekte sind eine Lösung. Für die Lösung der Windows Phone-App habe ich PokeLib als "vorhandenes Projekt" hinzugefügt, die Referenzen hinzugefügt und ein paar Zeilen Code geschrieben, um sicherzustellen, dass ich es in Ordnung nennen kann:

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

Wenn ich versuche, dies auf einem Telefonemulator auszuführen, erhalte ich die folgende Meldung: . Ich baue das Projekt als "Debug" und habe "Enable My Code" deaktiviert. Ich bin mir nicht sicher, was ich im Symbolbereich tun soll, aber ich kann auch einen Screenshot hinzufügen, wenn es nützlich wäre.

Die App wird auf jeden Fall geöffnet, friert jedoch ein, wenn ich auf die Schaltfläche GetData klicke. Ich hatte erwartet, dass es für einen Moment einfrieren würde, da der Anruf synchron ausgeführt wird, aber dies ist dauerhaft. Es werden jedoch keine Fehler/Ausnahmen ausgegeben. Der Debugger reagiert auch nicht, wenn ich versuche, in den Aufruf von p.Create () einzusteigen (wahrscheinlich von der Nachricht im Screenshot).

Hat jemand eine Vorstellung davon, was ich falsch mache? Vielen Dank!

21
Benjin

Sie können zur Dropdown-Liste Projekteigenschaften -> Erstellen -> Erweitert -> Debug-Info gehen und ihren Wert in "full" ändern.

14
Ivan

In Visual Studio wählte ich Build -> Clean Solution . Dadurch wurde diese Nachricht entfernt

7
arame3333

Ich habe gerade den gleichen Fehler behoben. Ich ging zu Extras -> Optionen -> Debugging -> Symbole und drückte in Visual Studio 2013 auf Leeren Symbol-Cache. Wahrscheinlich macht das Verwerfen Ihrer Ordner bin und obj ziemlich viel weniger elegant.

5
Departamento B

Ich hatte diesen Fehler, als ich eine Assembly im GAC hatte und Visual Studio sie vor dem Kompilieren/Debuggen nicht entfernte. Ich konnte das Problem beheben, indem ich die Bibliothek (DLL) aus dem GAC entfernte. 

//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

Dies löste die Warnbedingung und erlaubte mir, erneut zu debuggen.

3
tgolisch

Sie debuggen Ihren Code mit einer referenzierten DLL, die nicht für den Debugmodus kompiliert wird. 

Kompilieren Sie die referenzierte DLL in Debug und verwenden Sie sie.

Überprüfen Sie die referenzierten DLL-Adressen, um sicherzustellen, dass Sie die richtige DLL verwenden.

2
Ahmet Arslan

Stellen Sie sicher, dass nicht mehrere VS-Fenster geöffnet sind, insbesondere für dasselbe Projekt! :) 

1
Nick

Die einzige Möglichkeit, diese Meldung zu umgehen, besteht darin, zu Debuggen> Optionen und Einstellungen> Debuggen> Symbole zu gehen und dann das Optionsfeld "Alle Module, sofern nicht ausgeschlossen" auszuwählen.

Ich bin nicht sicher, dass dies die ideale Lösung ist, aber jetzt funktioniert es.

1
Dave Green
  1. schnelle Bereinigung mit ccleaner durchgeführt. 
  2. Lösung reinigen und Projekt neu erstellen 
  3. & das hat bei mir funktioniert. (Ich weiß wirklich nicht wie) 

& this worked for me. ( I really don't know how )

1
Kaushik Thanki

In meinem Fall hatte ich eine andere Version der Anwendung, die dieselbe DLL verwendete. Dies verhinderte, dass der GAC mit der Debugversion aktualisiert wurde. Ich musste den Prozess durch den Task-Manager beenden.

1
Dowlers

Ich fand heraus, dass das Projekt, über das ich die Nachricht erhielt, beim Erstellen optimiert wurde.

Ich ging in die Projekteigenschaften, Registerkarte Kompilieren, Erweiterte Kompilierungsoptionen ... und deaktivierte das Kontrollkästchen Enable Optimizations

 DeselectEnableOptimizations

0
chris31389

so wurde meine repariert,

Ich hatte die gleiche Seite in zwei Browsern geöffnet und wählte zuerst den 1. Browser und dann den 2. Browser für den Debug-Modus, ohne den 1. Browser zu schließen.

0
Roshna Omer

Ich hatte auch den gleichen Fehler und in meinem Fall lag das Problem an der Transformationsdatei web.config, die ich anders als debug.config einrichten wollte.

Ich musste einen Fehler mit Stage Branch aufspüren und habe daher die aktive Lösungskonfiguration as Stage eingerichtet.

  • Gehen Sie zur Option property Ihrer Projektlösung 
  • Klicken Sie oben rechts auf die Schaltfläche Configuration Manager .
  • Drilldown Sie nun die Dropdown-Option Konfiguration der aktiven Lösung und wählen Sie die Konfigurationsdatei (Webdatei) für Ihr Projekt, auf die Sie bei der Ausführung reagieren sollen.

Ich hatte die Bühne ausgewählt und als ich das Projekt aufbaute, bekam ich diesen Fehler und deshalb wurden Debugger inaktiv.

Aber wenn ich die Option auf debug zurücksetzte, wurde das Problem behoben. 

0
Jitender Kumar

Sie können DotPeek verwenden, um PDB-Dateien für die Bibliothek zu generieren, und diese dann im selben Ordner wie Ihre DLL ablegen. Wenn der Code Open Source ist, können Sie das Repo klonen, das Projekt zu Ihrem Projekt hinzufügen, Abhängigkeiten hinzufügen, die Build-Reihenfolge festlegen und das Debugging starten.

0