Visual studio 2010 очищает файл при сбое - PullRequest
11 голосов
/ 01 июля 2011

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

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

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

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

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

Размер файла все еще отображается в килобайтах, но код полностью исчез.

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

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

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

Ответы [ 5 ]

1 голос
/ 22 июня 2012

IIS имеет DLL-файлы, кэшированные в C:\Windows\Microsoft.NET\v4.0.xyz\Temporary ASP.NET Files. Ищите dll и используйте отражатель. Я использую ILSpy.

1 голос
/ 01 июля 2011

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

0 голосов
/ 27 мая 2016

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

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

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

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

0 голосов
/ 19 марта 2012

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

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

0 голосов
/ 01 июля 2011

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

Похоже, что в среде IDE были открыты файлы для записи в байте 0, когда компьютер выключился, и все было очищено.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...