myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Basistechnologien und allgemeine .NET-Klassen » mscorlib.pdb nicht geladen im Release Mode
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

mscorlib.pdb nicht geladen im Release Mode

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
tobi45f
myCSharp.de-Mitglied

Dabei seit: 15.05.2017
Beiträge: 24


tobi45f ist offline

mscorlib.pdb nicht geladen im Release Mode

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo zusammen,

ich habe ein Problem,. dass sich zwar gut googlen lässt, dessen Lösungen aber nicht funktionieren und dessen Ursache ich nicht verstehe (auch nicht mit den Erklärungen die man bei google so findet). Ich erhoffe mir, dass mir das hier vielleicht jemand anders erklären kann und ich somit den Fehler beseitigt bekomme.

Ich nutze Visual Studios 17, Version 15.9.9 und habe ein WPF-Projekt in C# erstellt.

Wenn ich mein Projekt im debug-Modus erstelle, dann läuft es wunderbar durch. Alles funktioniert. Auch die .exe im bin-Ordner macht dasselbe, wenn Visual Studio geschlossen ist.

Wenn ich nun den Release-Modus nutze, dann bekommt er einen Fehler.
Variante 1: Nur mein eigenen Code debuggen deaktiviert -> mscorlib.pdb nicht geladen ->

Fehlermeldung:
Ein Ausnahmefehler des Typs "System.InvalidOperationException" ist in mscorlib.dll aufgetreten.
Fehler beim Vergleichen von zwei Elementen im Array.

Aus der Exception kann ich entnehmen, dass es wohl an folgender Klasse zum sortieren liegt:

C#-Code:
class LSortieren : Comparer<Leitungsende>
    {
        public override int Compare(Leitung x, Leitung y)
        {
            if ((x.Prot != null && y.Prot != null) || (x.Prot == null && y.Prot == null) && x.Stat != null && y.Stat != null)
            {
                return y.abc.CompareTo(x.abc);
            }
            else
            {
                if (x.Prot != null && y.Prot == null) return -1;
                else return 1;
            }
            throw new NotImplementedException();
        }
    }

Die in der Fehlermeldung angegebene Zeile ist die erste IF-Abfrage. Ich habe alle Aufrufe überprüft. Zu keinem Zeitpunkt waren die übergebenen Argumente Null. Es waren immer zwei Werte enthalten. (wie gesagt, im Debug Modus läuft es auch durch)
An sich kann ich keinen Fehler entdecken, auch nicht beim Aufruf des Compares.

C#-Code:
Comparer<Leitungsende> compE = new LSortieren();
                s.LeitungsendeList.Sort(compE);
// s ist eine Instanz einer Klasse. LeitungsendeList besitzt immer zwei Instanzen der Klasse (überprüft!)

(ich habe die Namen mal angepasst, damit meine wunderbaren Kunstnamen nicht so doof wirken :D)


Variante 2: Nur mein eigenen Code debuggen aktiviert -> die Anwendung befindet sich im Haltemodus. Derselbe Fehler in der Ausgabe

Fehlermeldung:
Ein Ausnahmefehler des Typs "System.InvalidOperationException" ist in mscorlib.dll aufgetreten.
Fehler beim Vergleichen von zwei Elementen im Array.

und auch hier der Fehler an derselben Stelle.


Google brachte mir folgende Ideen, um den Fehler zu beseitigen:
1. eigenen Code debuggen deaktivieren (siehe oben)
2.

C#-Code:
useLegacyV2RuntimeActivationPolicy="true"

in der Config Datei. Hat nichts gebracht.
3. Irgendwas mit Symbolen, Cache und Server, was ich allerdings nicht verstanden habe?
4. Fehlersuche und diesen beseitigen (klasse Tipp :D)

Nun zu meinen Fragen:
1. Was ist genau der Unterschied zwischen dem Debug und Release Modus? Warum sollte ich die .exe aus dem Release verwenden, wenn die aus dem Debug "besser" läuft?

2. Wie bekomme ich den Fehler beseitigt? Ich kann beim einzelnen durchgucken diesen Fehler nicht finden. Tipps, wie ich ihn ausfindig machen kann?

Gruß Tobias
Neuer Beitrag 08.05.2019 15:36 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
witte
myCSharp.de-Mitglied

Dabei seit: 03.09.2010
Beiträge: 807


witte ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Gibt es einen Grund warum einmal Leitungsende und einmal Leitung verwendet wird?
Neuer Beitrag 08.05.2019 17:54 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
tobi45f
myCSharp.de-Mitglied

Dabei seit: 15.05.2017
Beiträge: 24

Themenstarter Thema begonnen von tobi45f

tobi45f ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von witte:
Gibt es einen Grund warum einmal Leitungsende und einmal Leitung verwendet wird?

ja Augenzwinkern vergessen es anzupassen. mein Fehler enttäuscht

Zitat:
(ich habe die Namen mal angepasst, damit meine wunderbaren Kunstnamen nicht so doof wirken großes Grinsen )
Neuer Beitrag 09.05.2019 08:23 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.651
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Die Meldung kommt eigentlich nur wenn Du versuchst Framework Code zu debuggen und keinen Symbolserver angegeben hast.
Hast Du wirklich den Haken bei "Just my Code" in den Debuggingsettings gesetzt?

Ansonsten mal Unit Tests schreiben; dann fällt sowas schnell auf.
 [Artikel] Unit-Tests: Einführung in das Unit-Testing mit VisualStudio

Kann man auch prima im Release Mode testen.
Neuer Beitrag 09.05.2019 12:46 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 25.05.2019 09:25