Laden...

VS: Wiederherstellen der Vorgängerversion

Erstellt von MoaByter vor 2 Jahren Letzter Beitrag vor 2 Jahren 989 Views
M
MoaByter Themenstarter:in
68 Beiträge seit 2016
vor 2 Jahren
VS: Wiederherstellen der Vorgängerversion

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.

T
2.219 Beiträge seit 2008
vor 2 Jahren

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.

16.806 Beiträge seit 2008
vor 2 Jahren

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!

M
MoaByter Themenstarter:in
68 Beiträge seit 2016
vor 2 Jahren

@ 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....

16.806 Beiträge seit 2008
vor 2 Jahren

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).

M
MoaByter Themenstarter:in
68 Beiträge seit 2016
vor 2 Jahren

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

M
MoaByter Themenstarter:in
68 Beiträge seit 2016
vor 2 Jahren

Danke für den Tipp. Ich werde das diesbezüglich Verpasste nachholen.

4.931 Beiträge seit 2008
vor 2 Jahren

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

M
MoaByter Themenstarter:in
68 Beiträge seit 2016
vor 2 Jahren

Auch dir Danke, ich werd's mal probieren. Mal sehen, viel gerade vom Designer das Programm mir wieder herstellt.

M
MoaByter Themenstarter:in
68 Beiträge seit 2016
vor 2 Jahren

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ô

4.931 Beiträge seit 2008
vor 2 Jahren

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).

M
MoaByter Themenstarter:in
68 Beiträge seit 2016
vor 2 Jahren

Aha, dann Danke, ich kann mich dem allerdings wahrscheinlich erst am Sonntag widmen.
Ich werde berichten.

Viele Grüße - ...lypô