Visual Studio 2010 опустошает файл при сбое

У меня возникла очень плохая проблема во время работы в visual studio 2010. Несчастный момент, когда вилка питания отключилась, и когда я снова запустил компьютер, файл был полностью пуст. Я пробовал следующие вещи:

  • Я открыл его в блокноте и других парах редакторов, и он был пуст.

  • Затем я открыл его в Hex Editor. Hex-редактор показывает, что для всех байтов установлено значение 0.

  • Я программно читаю файл, и он также показывает все байты, установленные на 0.

  • Проверено "Documents\Visual Studio 2010\Backup Files \" для моего проекта, и оно пусто.

Размер файла по-прежнему отображается в КБ, но код завершен.

Есть ли какой-либо возможный способ восстановления моего кода? Если нет, может ли кто-нибудь предложить мне настройки/патча, которые должны быть там, чтобы это никогда не повторилось.

Примечание. У меня уже есть опция Autorecover, устанавливаемая каждые 5 минут в среде IDE.

Обновление: Как было предложено Henok, если вы скомпилировали и построили код хотя бы один раз, вы можете перепроектировать двоичный с помощью отражателя.

Ответ 1

Не похоже, чтобы в будущем остановиться, сохранить и сохранить часто. Также посмотрите на использование подрывной деятельности, например svn, или Git.

Ответ 2

У IIS библиотеки DLL, кешированные под C:\Windows\Microsoft.NET\v4.0.xyz\Temporary ASP.NET Files. Найдите DLL и используйте рефлектор. Я использую ILSpy.

Ответ 3

Сохраняйте часто и используйте источник управления. Я лично использую C.V.S.

Это звучит как I.D.E. был ли файл открыт для записи в байте 0, когда компьютер опустился, очистив все.

Помимо проблем со своим программным обеспечением, я предлагаю вам управлять штепселем питания таким образом, чтобы он не был случайно отключен.

Ответ 4

То же самое случилось со мной, и я подумал, что отправлю его сюда для тех, кто придет сюда для ответов.

Если вы скомпилировали и построили код хотя бы один раз, вы можете перепроектировать двоичный файл. Отражатель помогло.

Ответ 5

Visual Studio по-прежнему делает исходные файлы пустыми при внезапных сбоях, поэтому я думаю, что должен поделиться своим решением.

Используйте любую службу синхронизации облачных файлов, которая поддерживает версии файлов (для удаленных файлов тоже). Dropbox и Google Диск - это то, что я могу назвать. Я случайно предпочитал Google Drive, хотя Dropbox может делать все то же самое.

Я просто поместил исходное дерево в Google Диск, потому что у него есть версии файлов. Мои сборки происходят и на Google Диске, поэтому большой объем нежелательного трафика для больших проектов, но вы можете исключить некоторые подпапки из синхронизации.

Недостатком является то, что иногда (в редких случаях) Google Диск блокирует файлы, а Visual Studio открывает диалоговое окно "Сохранить как..." или некоторые сообщения. Обычно вы можете закрыть его, а затем успешно сэкономить. В очень редких случаях у меня были ошибки "Файл используется процессами", и мне пришлось перезапустить Google Диск.