LinqPad только что упал на меня.Мой код где-нибудь на диске? - PullRequest
5 голосов
/ 12 октября 2010

Я разбил 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
    }
}

1 Ответ

6 голосов
/ 12 октября 2010

До крушения вы случайно не запускали его один раз? В таком случае он был бы скомпилирован и должен быть доступен в виде библиотеки DLL, которую можно открыть с помощью .NET Reflector .

Проверьте временную папку LINQPad, например: C:\Documents and Settings\username\Local Settings\Temp\LINQPad. Сортируйте файлы по дате изменения, затем проверьте несколько библиотек в Reflector, пока не найдете свой запрос. Вероятно, он не будет точно напоминать ваш запрос, но он должен быть достаточно хорош для того, чтобы вы смогли сохранить свой код.

ОБНОВЛЕНИЕ: функция автоматического восстановления была добавлена ​​в LINQPad (бета, на момент написания этой статьи). Насколько мне известно, он был доступен в бета-версии уже в версии 4.28.3. Получите бета-версию, чтобы воспользоваться ее преимуществами, или она может быть уже в версии для будущих читателей этого поста. Если LINQPad запускается после сбоя, он выдает диалоговое окно с вопросом, хотите ли вы восстановить несохраненные запросы.

...