Bei mir ist ein ziemliches Malheur passiert. Im Designer ist ein ganzer Bereich gelöscht worden. Kann man den nicht wiederherstellen? Ich finde keinen Menüpunkt dazu.
Rückgängig ist keine Option, da das Programm abgestürzt war und ich den Fehler erst beim Neustart entdeckte.
Der gelöschte Bereich - und das macht das Ganze so dramatisch - enthielt die wesentlichen zweidrittel meines Programms; den manuelle wiederherzustellen dürfte 'ne kanppe Woche dauern. Legt VS nicht automatisch ein Backup an?
Danke für Hilfe!
PS.: Die exe-Datei funktioniert, nur benötige ich den Designer mit allen Einträgen.
Und genau dafür hat man den Code nicht nur lokal auf der Platte sondern in einem Repository.
Dann kann man einfach den Stand wiederherstellen und fertig.
Wenn du keine Sicherung von deinem Stand hast, wirst du alles händisch wieder herstellen müssen.
VS kann nur begrenzt bei solchen Fehlern helfen, vorallem bei einem Neustart ist dann i.d.R. keine Möglichkeit mehr da um den alten Stand wiederherzustellen.
Zukünftig solltest du deinen Code mindestens in einem Git Repository lokal speichern.
Oder noch besser, setzt dir einen Server dafür auf, der regelmäßig Sicherungen macht!
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Legt VS nicht automatisch ein Backup an?
Nur wenn Du es aktiviert hast.
https://docs.microsoft.com/en-us/visualstudio/ide/reference/autorecover-environment-options-dialog-box?view=vs-2022
Wenn nicht, dann war das hoffentlich für Dich ein schmerzhaftes Unterfangen, und dass Du in Zukunft ein Quellcode-Verwaltungssystem nutzt - und zwar täglich, besser stündlich bzw nach Aufgaben.
Ansonsten heisst es eben: Kein Backup, kein Mitleid.
Das VS Autorecover Feature ersetzt kein echtes Quellcode-Verwaltungssystem!
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
@ T-Virus:
Nun, mit Repository hatte ich mich nur ganz am Anfang beschäftigt, daraufhin lief alles schief - vermutlich wegne eines Fehlers meinerseits - weswegen ich das dann gelassen habe. Ich war ja noch am Lernen.
@ Abt:
Das ist aktiviert, nur ist das Verzeichnis leer - warum auch immer. Leider ist__ es ein schmerzliche Erfahrung und wird es für ein Weilchen bleiben. ..._schluchz! _ 🙂
@ beide
Okay, Danke euch beiden. Dann werde ich mich mal dran machen....
Der Ordner ist nur gefüllt, wenn es was zu Recovern gibt, zB nach einem VS Crash.
Das ist kein Backup-Mechanismus (weil man dafür eben SCM Software wie Git verwendet).
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Leider weiß ich nicht, warum der Fehler auftrat. Ich habe in der Form1.cs lediglich eine Methode löschen wollen. Diese wurde wg. eine sversehentlichen Doppelkilicks auf einen Button im Designer angelegt, dort hatte ich den Eintrag bereits entfernt, der wurde aber nicht gelöscht, also wollte ich es manuell tun. Dann wurde alles weiß, nach einiger Zeit schloss sich das Programm. beim Wieder-Öffnen sah ich dann das Melheur.
So what ... Fehler sind dazu da, dass mann daraus lernt...
Danke für den Tipp. Ich werde das diesbezüglich Verpasste nachholen.
Wenn du die EXE noch hast, dann kannst du daraus den Code extrahieren, z.B. mittels ILSpy.
Bei .NET 5/6 Projekten mußt du die zugehörige <ProjectName>.dll zum Dekompilieren in ILSpy öffnen (bei der EXE kam bei mir der Fehler: PE file does not contain any managed metadata).
Und dort dann nach der InitializeComponent
-Methode der Form suchen und diese dann in deine ".designer.cs"-Datei kopieren (inkl. der Controlmember) - vorher aber dein Projekt sichern!!!
Auch dir Danke, ich werd's mal probieren. Mal sehen, viel gerade vom Designer das Programm mir wieder herstellt.
Hattest du Erfolg mit der Wiederherstellung der Designer-Datei?
Danke der Nachfrage!
Mittlerweile habe ich ein BackUp gefunden, ist gar nicht so alt: Nov. '21. Als Orientierung hätte es gereicht. Ich hatte aber die Gelegenheit beim Schopf ergriffen und das Design beim Neuerstellen überarbeitet (was ich schon immer mal tun wollte 🙂). Jetzt ist alles in sich konsistent, vor allem die Namensgebung und Anordnung der Controls.
Mit dem IL.Spy-Tool komme ich nicht so richtig klar. Verstehe ich das richtig, dass es eine Art AddOn für VS ist (Nuget)? Und dann gibt's ein weiteres Problem: Ich habe bei mir keine DLLs. Alles ist der Einfachheit halbe in der exe versammelt. Nicht günstig, besonders, wenn was verloren geht. Damals, beim Beginn mit dem Programm, kam ich mit der DLL-Erstellung nicht klar und habe mich nie wieder darum gekümmert. Das werd'ich wohl auch mal in Angrfiff nehmen müssen.
Es ist halt ein Programm nur für mich, für einen ganz speziellen Zweck - eine schwache Ausrede, auch das weiß ich.
Jetzt lege ich aber brav & artig Updates nach jeder Veränderung an. Manchmal lernen Menschen aus ihren Fehlern. 🙂
Viele Dank, gehabe dich wohl, bleibe gesund - ...lypô
Das ILSpy-Tool gibt es sowohl als eigenständiges Programm als auch als Visual Studio Erweiterung.
Im Anhang habe ich dir mal ein WinForms-Programm (erstellt mit .NET Framework 4.x) geladen (es ist egal, ob man eine .NET EXE oder DLL, sind beides intern ähnliche Formate, damit dekompilieren möchte).
Aha, dann Danke, ich kann mich dem allerdings wahrscheinlich erst am Sonntag widmen.
Ich werde berichten.
Viele Grüße - ...lypô