我在制作一些稍微不那么微不足道的东西时撞毁了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
}
}
Run Code Online (Sandbox Code Playgroud)
崩溃之前你碰巧运行过一次吗?如果是这样,它将被编译并且应该可以作为dll使用.NET Reflector打开.
检查LINQPad临时文件夹,例如:C:\Documents and Settings\username\Local Settings\Temp\LINQPad.按修改日期对文件进行排序,然后检查Reflector中的一些dll,直到找到您的查询.它可能不会完全类似于您的查询,但它应该足以让您挽救您的代码.
更新: LINQPad添加了自动恢复功能(Beta,撰写本文时).据我所知,早在v4.28.3 就已经在Beta版本中提供了它.获取测试版以利用它,或者它可能已经发布在此帖子的未来读者版本中.如果LINQPad在崩溃后启动它会弹出一个对话框,询问您是否要恢复未保存的查询.
| 归档时间: |
|
| 查看次数: |
1253 次 |
| 最近记录: |