none
Einen Report im Design-Mode debuggen? RRS feed

  • Frage

  • Hallo NG,

    ich habe einen Report mit Source (C#) erworben.
    Nun versuche ich diesen Code auf eine neuere NET-Version zu kompilieren.
    Klappt soweit auch, dh. der Report wird auch fehlerfrei ausgeführt.

    Aber im Design-Mode kommt es zu einem Fehler, ich kann also im Designer keine Änderungen vornehmen.
    "Der Wert darf nicht NULL sein, Parameter: instance"

    Welche kann ich den Aufruf des Designers debuggen damit ich die Stelle die den Fehler verursacht finde?

    Danke für die Hilfe!

    Mit herzlichem Gruß

    Klaus Ruttkowski

    Donnerstag, 15. Oktober 2020 09:01

Antworten

  • Hi Klaus,
    für die Anzeige instanziiert der Designer die benötigten Objekte genau wie auch die Laufzeitumgebung zur Laufzeit. Wenn du diesen Vorgang debuggen willst, musst du eine zweite Instanz des Visual Studios starten und genau das gleiche Projekt aufrufen. Dort kannst du Haltepunkte setzen und hängst den Debugger an den Prozess der ersten Instanz des Visual Studios. In der ersten Instanz des Visual Studios wechselst du so die Ansichten, dass der Designer aktiv werden muss, um die Anzeige zu aktualisieren. In der zweiten Instanz des Visual Studios wird dann am Haltepunkt angehalten. Wichtig dabei ist, dass die in beiden Visual Studios aufgerufenen Projekte absolut identisch sind. Schon eine Änderung wie ein zusätzlich eingefügtes Leerzeichen oder Kommentar führt dazu, dass der Haltepunkt nicht erreicht wird, da das Visual Studio erkennt, dass nicht beide Versionen identisch sind.


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Donnerstag, 15. Oktober 2020 11:25

Alle Antworten

  • Hi Klaus,
    für die Anzeige instanziiert der Designer die benötigten Objekte genau wie auch die Laufzeitumgebung zur Laufzeit. Wenn du diesen Vorgang debuggen willst, musst du eine zweite Instanz des Visual Studios starten und genau das gleiche Projekt aufrufen. Dort kannst du Haltepunkte setzen und hängst den Debugger an den Prozess der ersten Instanz des Visual Studios. In der ersten Instanz des Visual Studios wechselst du so die Ansichten, dass der Designer aktiv werden muss, um die Anzeige zu aktualisieren. In der zweiten Instanz des Visual Studios wird dann am Haltepunkt angehalten. Wichtig dabei ist, dass die in beiden Visual Studios aufgerufenen Projekte absolut identisch sind. Schon eine Änderung wie ein zusätzlich eingefügtes Leerzeichen oder Kommentar führt dazu, dass der Haltepunkt nicht erreicht wird, da das Visual Studio erkennt, dass nicht beide Versionen identisch sind.


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Donnerstag, 15. Oktober 2020 11:25
  • Hallo Peter,

    danke für die schnelle Antwort.

    Werde mal versuchen so zu verfahren und melde mich dann noch einmal.

    Mit Herzlichem Gruß Klaus

    Donnerstag, 15. Oktober 2020 12:12
  • Hallo Peter,

    ja das konnte ich ausführen, komme nun aber nicht weiter.
    Es liegt wohl an dem veralteten Aufruf:

    [RootDesignerSerializer("dbAutoTrack.DataReports.Design.ReportRootCodeDomSerializer_zm, dbAutoTrack.DataReports.Design, Version=7.2.0.0, Culture=neutral, PublicKeyToken=40b2134825d59165", "System.ComponentModel.Design.Serialization.CodeDomSerializer, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", true)]
    

    Wie gehe ich nun damit um, weist du einen Rat?

    Mit Herzlichem Gruß

    Klaus

    Freitag, 16. Oktober 2020 10:25