LinqPad только что разбился у меня.Мой код где-нибудь на диске?
Вопрос
Я сломал LinqPad, когда создавал что-то менее тривиальное.Я не хочу перезапускать его, пока не буду уверен, что это не поставит под угрозу восстановление моей работы (если это возможно).Мой вопрос:Записывает ли LinqPad временные файлы, которые все еще могут содержать написанный мной код?
Для потомков, вот тестовый пример, который каждый раз приводит к сбою LinqPad (также опубликован на Форум LinqPad):
void Main()
{
Crasher.Crash();
}
class Crasher
{
public static void Crash()
{
var a=0;
Crash();
a++; //let's get something in the tail so compiler
//doesn't optimise tail recursion and prevent
//stackoverflow
}
}
Решение
До сбоя вы случайно его запускали?Если это так, он был бы скомпилирован и должен быть доступен в виде dll, который вы можете открыть с помощью .NET-отражатель.
Проверьте временную папку LINQPad, например: C:\Documents and Settings\username\Local Settings\Temp\LINQPad
.Отсортируйте файлы по дате изменения, затем проверьте несколько библиотек DLL в Reflector, пока не найдете свой запрос.Вероятно, он не будет в точности напоминать ваш запрос, но его должно быть достаточно, чтобы вы могли спасти свой код.
ОБНОВЛЯТЬ: в LINQPad добавлена функция автоматического восстановления (бета-версия на момент написания этой статьи).Насколько мне известно, он был доступен в Бета-версия еще в версии 4.28.3.Получите бета-версию, чтобы воспользоваться ее преимуществами, или она может уже быть в релизной версии для будущих читателей этой статьи.Если LINQPad запускается после сбоя, появится диалоговое окно с вопросом, хотите ли вы восстановить несохраненные запросы.