2010-10-12 7 views
5

He bloqueado LinqPad mientras creaba algo menos que trivial. No quiero reiniciarlo hasta que esté seguro de que no pondrá en peligro la recuperación de mi trabajo (si esto es posible). Mi pregunta es: ¿LinqPad escribe cualquier archivo temporal que pueda contener el código que escribí?LinqPad acaba de estrellarse contra mí. ¿Mi código está en algún lugar del disco?

Para la posteridad, aquí hay un caso de prueba que se estrella cada vez que LINQPad (también publicado a LinqPad forum):

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 
    } 
} 

Respuesta

6

Antes del accidente se te ha ocurrido a ejecutar una vez? De ser así, se habría compilado y debería estar disponible como archivo DLL que puede abrir con .NET Reflector.

Compruebe la carpeta temp LINQPad, por ejemplo: C:\Documents and Settings\username\Local Settings\Temp\LINQPad. Ordene los archivos por fecha de modificación y luego verifique algunos de los dlls en Reflector hasta que encuentre su consulta. Probablemente no se parecerá exactamente a su consulta, pero debería ser lo suficientemente bueno para que pueda salvar su código.

ACTUALIZACIÓN: una función de recuperación automática se ha agregado a LINQPad (Beta, en el momento de escribir esto). Que yo sepa ha estado disponible en el Beta version ya en v4.28.3. Obtenga la versión beta para aprovecharla, o puede que ya esté en la versión de lanzamiento para futuros lectores de esta publicación. Si se lanza LINQPad después de que se cuelga, lanzará un diálogo que le preguntará si desea o no recuperar las consultas no guardadas.

+0

You rock. Gracias. – spender

+0

@spender gracias. Ver mi actualización :) –

+1

Buenas noticias. Para ser justos, nunca más se estrelló contra mí. Joe amablemente me explicó que stackoverflow es un error que no puede evitar que derribara a LinqPad, pero que mi situación lo había inspirado a incluir esta función. LinqPad es una rareza entre los productos en los que no me molesta cuando me convierto en un usuario pago. – spender

Cuestiones relacionadas