LinqPad только что разбился у меня.Мой код где-нибудь на диске?

StackOverflow https://stackoverflow.com/questions/3915636

  •  29-09-2019
  •  | 
  •  

Вопрос

Я сломал 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 запускается после сбоя, появится диалоговое окно с вопросом, хотите ли вы восстановить несохраненные запросы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top