2

после сбоя системы один из моих файлов .cs теряется.
Размер файла 18 КБ,
когда я пытался открыть его в VS2010, vs2010 автоматически открывает его в блокноте, но содержимое пусто.
Я пытался открыть его в NotePad++, содержимое превращается в пучки черного блока со словом "NULL".
Я пытался "сохранить как" в UTF8, но файл пуст, как и тот же.

Как восстановить этот потерянный файл .cs? :(

6 ответов6

4

Попробуйте использовать любой инструмент восстановления (не важно, что это файл CS).

и вам придется использовать внешний контроль Subversion в следующий раз.

Я использую xp-dev.com. У него есть бесплатный план. Попробуйте в Google, и вы найдете больше таких услуг, как этот.

РЕДАКТИРОВАТЬ: Там упоминалось о декомпиляции кода - это хорошая идея. Попробуйте использовать ILSpy - инструмент с открытым исходным кодом.

1

Вы когда-нибудь компилировали его, чтобы у вас был файл .dll/.exe с скомпилированным классом? Если это так, то вы можете использовать декомпилятор, такой как dotPeek из JetBrains, или Reflector из RedGate, чтобы декомпилировать файл и получить код .cs.

Вы будете удивлены, насколько хорошо сохранился исходный код. Иногда я обнаруживаю, что скомпилированный-> декомпилированный код выглядит лучше, чем код до компиляции ...

Не забывайте использовать контроль версий и резервные копии, похоже, что-то не так с вашим диском.

1

У меня вчера была точно такая же проблема :)

Кроме того, мой диск был зашифрован, и когда я открыл файл с помощью Notepad++, он был заполнен NULL . Проблема в том, что если ваш диск зашифрован, то нет способа восстановить данные (кроме чтения кода IL и его преобразования обратно в C # из скомпилированной библиотеки). Но, к счастью, все, что мне нужно было сделать, это проверить оригинальную версию из git hub.

Я надеюсь, что вы использовали контроль источников. Если бы вы этого не сделали, это был бы хороший урок.

1

Это связано с тем, что в файле произошла операция удаления, а код или данные в вашем файле прерваны на промежуточном этапе. Он не связан ни с безопасным источником, ни с сохранением. Попробуйте получить старую версию, и вам придется снова писать код.

Это случается иногда, даже если ваш жесткий диск не сломался

0

у вас есть файл программы exe? .NET Reflector v6 обеспечивает поддержку сборок .NET Framework 4.0. Загрузите его отсюда.

0

Вот несколько шагов, которые вы можете сделать

  • Попробуйте восстановить файлы "физически" с помощью бесплатного инструмента Recuva.

  • попробуйте восстановить их из вашей папки временных файлов в каталоге пользователя и файлов windows

  • Попробуйте заглянуть в (глобальный) кэш сборок и разобрать ваше приложение на C # через ILSpy

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .