Visual Studio crashed während der Design-Time

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von roepke.

    Visual Studio crashed während der Design-Time

    VS2017, Win10
    Ich habe einen Timer, in dem wird ein Member einer indizierten Strucktur abgefragt.

    VB.NET-Quellcode

    1. Private Sub Timer1s_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1s.Tick
    2. If Convert.ToBoolean(strctModuleInfo(iUSINr, iModuleNr).iAttributes And bMIA_ConnectedAndDefinedModuleDoMatch) = True Then
    3. ...
    4. End If
    5. End Sub

    Super Effekt: versuche ich das Form, welches diesen Timer enthält im Designer zu öffnen, schmiert VS ohne jede Meldung komplett ab.
    Hintergrund: iUSINr und iModuleNr werden per Default mit -1 intialisiert. Das muss natürlich schief gehen, wenn der Timer ausgeführt wird, weil eine Struktur(-1,-1) gibt's halt nicht.
    Die Exception erwarte ich eigentlich erst zur Laufzeit, nicht während des Aufrufs des Designers.
    Vorallem: das Auffinden dieses Fehlers hat etwas Zeit gebraucht.
    Meine Lösung ist jetzt: der Timer wird erst gestartet, wenn die beiden Variablen >=0 sind. Damit lässt sich auch das Form im Designer wieder öffnen.
    Kann mir das jemand erklären?

    roepke schrieb:

    Kann mir das jemand erklären?
    Ist der Timer zur Design-Time aktiv?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Selbst wenn ich einen Timer als aktiviert im Designer markiere, kombiniert mit

    VB.NET-Quellcode

    1. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    2. Throw New NotImplementedException
    3. End Sub
    crasht nix. Also schon sehr mekrwürdig. Hast Du ein Testprojekt für uns?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @ErfinderDesRades Mag sein, dass das die Ursache ist. Denn in Wahrheit handelt es sich bei meinem Form um ein UserControl, wenn ich ehrlich bin.
    Anfänglich war es ein Form, da ich es aber immer wieder brauche hatte ich ein UserControl draus gemacht und seitdem habe ich auch das Problem.
    Da UserControls ja kein .Shown Event haben, habe ich selbst eins getippt, das ich vom Parent aus starte.
    Seitdem ist Ruhe.