Strata kodu dla Formy, po awaryjnym wyłączaniu komputera

0

Witam,

Tworzę aplikację w Microsoft visual Express 2010 która składa się z 3 form. Pracując dziś w głównej formatce (form 1) zawiesił mi się komputer do tego stopnia, że musiałem awaryjnie wyłączyć komputer. Po ponownym uruchomieniu komputera, nie mogę otworzyć formy pierwszej. Nie wyświetla mi się Design, a kod jest pusty. Klikając aby otworzyć Form 1 wyświetla się komunikat "There is no editor available for "ścieżka formy 1" Make sure the application for the file type (.cs) is installed.

oraz:

Error 1 Missing partial modifier on declaration of type 'WindowsFormsApplication1.Form1'; another partial declaration of this type exists C:\Users\przem\Desktop\projekty visual\temp\temp\Form11.Designer.cs

Pocieszające jest to że przy próbie uruchomienia aplikacji (start debugging) pojawia się komunikat:

There were build errors. Would you like to continue and run the last successful build?

I aplikacja się otwiera, działa tak jak działała przed awarią.

Poza tym w folderze \bin\debug\ jest też działający plik .exe .

Jak odzyskać moją Formatkę aby móc dalej na niej pracować?

Bardzo proszę o pomoc.

0

"There were build errors. Would you like to continue and run the last successful build" to bardziej znaczy, że Ci się przestał projekt budować, może miałeś gdzieś jakiś nawias otwarty i się spieprzyło?
Poza tym ten błąd może znaczyć: "Missing partial modifier on declaration of type 'WindowsFormsApplication1.Form1'; another partial declaration of this type exists", że nie masz partial dla klasy Form1 i Visual Studio nie może zaczaić o co chodzi.

0

Czy mogę jakoś wrócić do poprzednio zapisanego kodu? Do tego z którego aplikacja się otwiera? Gdzie mam dać ten partial?

0

Do poprzedniej wersji kodu mógłbyś wrócić jeśli masz backup ;)
A "partial" to najlepiej dodać tam, gdzie wskazuje IDE, zakładam, że powinieneś mieć coś takiego: "partial class Form1"

0

w pliku Form1.Designer.cs mam:

namespace WindowsFormsApplication1
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

gdzie ostatnie Dispose podkreśla i po najechaniu jest napisane że " 'object' does not contain a definition for 'Dispose' "

1

Brakuje Ci dwóch klamr } na dole albo nie wkleiłeś całego kodu. Może machnij zipem projekt i wrzuć, bo nie mam kart do tarota pod ręką.

0

a jak wygląda Form1.cs?

0

Pusty plik, który otwiera się przez notatnik jedynie.

0

no to kapa
błąd jest dlatego że w tym pliku powinieneś mieć deklarację że Form1 dziedziczy z Form - wtedy zniknie błąd

kod formy możesz wyciągnąć z exeka za pomocą np ILSpy - tyle że to nie będzie ten sam kod

0
yhgshfg napisał(a):

no to kapa
błąd jest dlatego że w tym pliku powinieneś mieć deklarację że Form1 dziedziczy z Form - wtedy zniknie błąd

kod formy możesz wyciągnąć z exeka za pomocą np ILSpy - tyle że to nie będzie ten sam kod

przedtem spróbuj jeszcze uruchomić skanowanie dysku i po skanowaniu przejrzyj pliki i foldery FOUND w głównym folderze dysku - bardzo prawdopodobne że znajdziesz tam całość lub większą część kodu

0

Dobra i zła wiadomość:
Dobra, na priv masz 2 pliki jak sobie podmienisz z Twoimi to Ci się program zbuduje, jak przeładujesz solucje to designer powinien działać (u mnie działa).
Zła, plik Form.cs masz uszkodzony przy tym restarcie więc logika wszystkich zdarzeń poszła w pizdu, a widzę, że parę ich masz.

PS. Jak klikniesz prawym na pliku -> właściwości -> Poprzednie wersje, to może uda się odzyskać Form1.cs. (Oczywiście przed podmianą ;))

0

Brak dostępnych poprzednich wersji.
Designer działa ale brak kodu do niego. Wszystkie klasy znikneły. Cała obsługa.
Korzystałem z triala Advanced Disk Recovery i znalazłem jakieś foldery "found" lecz żadnego pliku .cs tak nie widziałem.

  1. Jak korzystać z ILSpy? Rozumiem, że to ostatnia deska ratunku?
    Znalazłem wersje programu z przed 2 tygodni, którą wysłałem sobie na maila to po części mnie ratuje, lecz i tak mnóstwo pracy by to odtworzyć.
  2. Pytanie na przyszłość, jest jakiś automatyczny backup w Microsoft Visual Express 2010?
0

Ad 1. Zainstalować, uruchomić, otworzyć plik exe, wybrać w drzewku z lewej interesujące Cię klasy, skopiować kod z edytora z prawej strony.
Ad 2. zainteresuj się kontrolą wersji, np. gitem, swój kod wrzucaj do jakiegoś zdalnego repozytorium np. bitbucket.org, i wtedy nie będziesz miał takich problemów.

0

Polecam korzystać z jakiegoś systemu kontroli wersji, np. SVN, Git czy TFS.

1 użytkowników online, w tym zalogowanych: 0, gości: 1