2011-10-01 5 views
8

突然自分のコンピュータがクラッシュしたときに私はVisual Studio 2010のクラスで作業していました。私はコンピュータを再起動します。私はビジュアルスタジオを開始し、そのクラスが完全に空であることがわかります。 クラスの前に1000行以上のコードが含まれていました。とにかく私はそのファイルを回復できますか? クラッシュ後に.CSクラスファイルを回復する

あなたがソースコードファイルを見つけることができない場合、私は(私の愚かな)それの別のコピー

+5

@Oded、私は、私はソースコントロールが関与していないと私はそれが私は別のコピーを持っていないと推測することができると思う。 –

+0

申し訳ありませんソース管理が何を意味するのか分かりません。私はASP.NET C#アプリケーションで作業していましたが、クラスには、アプリケーションで使用しているメソッドが多数含まれていました。 – Youssef

答えて

18

を持っていないので、ヘルプ、あなたがそのクラスを含むいる最も最近建てられたDLLをコンパイルするReflectorを使用してみてください。それはあなたにあなたの完全な情報源を与えるものではありませんが、少なくともあなたには何かを始めることができます。

注:反射板はもはや自由ではありません。それが問題であれば、代わりにJetBrainsからdotPeekを試してください。

また、source code controlシステムを使用して調べます。これにより、あなたのコードのバージョンをリポジトリに 'コミット'させることができるので、将来このようなことが起こった場合のためにコピーを用意します。

Subversion,GitおよびMercurialはよく知られているものであり、私の意見では、Subversionは特にTortoiseSVN(OS統合)とAnkhSVN(Visual Studio統合)を使い始めるのが最も簡単です。リポジトリ/サーバの設定について心配したくなければ、SubversionとGitを提供するBeanstalkのようなホストされたソリューションを調べて、無料の制限付きアカウントで試用することができます。

幸い - あなたのソースを回復できることを願っています!

+0

.NET Reflectorには14日間の無料トライアルがあり、破損したファイルを回復するのに最適です。あなたが期待できるものがいくつかあります:すべてのメソッドはアルファベット順に並べ替えられています。ほとんどの変数名は 'list2'、 'node2'などのジェネリックで置き換えられます。多くの冗長な修飾子がコードに追加されました。すべてのコメントは失われた。いくつかのコードが断片化しています。しかし、ファイルでやり直さなければならない場合、このオプションははるかに優れています。下記のRizwanのように**このソリューションを動作させたい場合は**プロジェクトを再構築しないでください**。 – user3738893

+0

dotPeekが機能します!注:最後のいくつかのビルドはC:\ Users \#AppData \ Local \ Temp \ Temporary ASP.NET Files \ vs \ ...などで見つけることができます。 – HerGiz

+0

同じ問題が発生して解決しました。 jetbrainsとilspy http://ilspy.net/でdotpeekを試してみましたが、どちらもうまく動作していますが、逆コンパイル時にはilspyが最適で、ドットペークと比べてかなり良いコードを生成します。 –

3

またちょうど1つのより多くの事を追加したい... 私の場合は、それぞれの.csファイルにaspxページを持っていたし、designer.cs は.csファイルが壊れてしまったと私はデザイナーで、プロジェクトでビルドしました.csプロジェクトが正常にビルドされ、dllが置き換えられました。そして、私がリフレクターを使って回復しようとしたとき、すべては状態が戻ってこなかった。 :(

だから、あなたは任意のファイルが破損してしまった見た場合、プロジェクトをビルドしていない。私のために働いた

5

何かがバック・アップした。 はところで私は、Windows 8マシン上でVS2013のファイルを回復しようとしていました。お使いのシステム内の場所の下でチェックする

てみ

C:\ Users \ユーザーマイドキュメント\ユーザー名のVisual Studio \バックアップファイル\ ProjectFolder \

私は、元の日付で元のファイルを見つけました。 filename.csの名前とrecover-date.filename.csファイル。

元は必要なものでした。 プロジェクト内のファイルを削除し、元のファイルを追加し、ファイル名をfile.cs.に変更しました。ビルドとデバッグを試して、期待される結果を得ました。

関連する問題