web-dev-qa-db-ja.com

ソースコードを回復する方法は?

システムがクラッシュした後、私の.csファイルの1つが失われます。
ファイルのサイズは18KB、
VS2010で開こうとすると、vs2010がメモ帳で自動で開きますが、内容が空です。
NotePad ++で開こうとすると、コンテンツが単語「NULL」を含む黒いブロックの束に変わります。
UTF8で「名前を付けて保存」しようとしましたが、ファイルは同じように空です。

この失われた.csファイルを回復する方法は? :(

3
Albert Gao

任意の回復ツールを使用してみてください(それがcsファイルであることが重要ではありません)。

次回は外部Subversionコントロールを使用する必要があります。

私は xp-dev.com を使用しています。無料プランあり。グーグルしてみてください、そしてあなたはこのようなより多くのサービスを見つけるでしょう。

EDIT:コードの逆コンパイルについて言及しました-それは良い考えです。 ILSpy -オープンソースツールを使用してみてください。

4
RredCat

コンパイルされたクラスを含む.dll/.exeファイルがあるようにコンパイルしたことはありますか?その場合は、 JetBrainsのdotPeek などの逆コンパイラー、またはRedGateのReflectorを使用してファイルを逆コンパイルし、.csコードを取り戻すことができます。

ソースコードがどれほどよく保存されているかに驚かれることでしょう。コンパイルされた->逆コンパイルされたコードは、コンパイル前のコードよりも見栄えが良いことが時々あります...

バージョン管理とバックアップを使用することを忘れないでください。ディスクに問題があるようです。

1
Anders Forsgren

私は昨日正確に同じ問題を抱えていました:)

さらに、私のドライブは暗号化されており、Notepad ++でファイルを開くと、すべてNULLsで埋められていました。問題は、ドライブが暗号化されている場合、データを回復する方法がない(ILコードを読み取り、コンパイルされたライブラリからC#に変換することを除いて)があることです。しかし、ありがたいことに、私がする必要があるのは、gitハブから元のバージョンをチェックアウトすることだけでした。

ソース管理を使用したことを願っています。そうでなければ、これは良い教訓になるでしょう。

1
oleksii

ここにあなたができるいくつかのステップがあります

  • 無料の Recuvaツール を介してファイルを「物理的に」回復してみてください。

  • windowsのユーザーおよびファイルディレクトリにある一時ファイルフォルダからそれらを回復してみてください

  • (グローバル) アセンブリキャッシュ の内部を調べて、 ILSpy を介してアプリケーションをC#に逆アセンブルしてみてください

1
Lorenz Lo Sauer

これは、ファイルで操作deleteが発生し、ファイル内のコードまたはデータが中間段階で中断されたためです。それは、ソースセーフにコミットされておらず、保持されていません。古いバージョンを入手してみてください。コードをもう一度作成する必要があります。

これは、ハードディスクがクラッシュしていなくても時々発生します

1
Praveen

プログラムのexeファイルはありますか? .NET Reflector v6は、.NET Framework4.0アセンブリのサポートを提供します。 ここ からダウンロードしてください。

0
KF2