2010-10-12 26 views
5

Tôi đã gặp trục trặc LinqPad trong khi chế tạo một thứ hơi nhỏ hơn tầm thường. Tôi không muốn khởi động lại nó cho đến khi tôi chắc chắn rằng sẽ không gây nguy hiểm cho việc khôi phục công việc của tôi (nếu điều này là có thể). Câu hỏi của tôi là: Liệu LinqPad có viết các tập tin tạm thời bất kỳ mà vẫn có thể chứa mã tôi đã viết không?LinqPad vừa đâm vào tôi. Mã của tôi có ở bất cứ đâu trên đĩa không?

Đối với hậu thế, đây là một trường hợp thử nghiệm mà treo LinqPad mỗi lần (còn được đưa lên 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 
    } 
} 

Trả lời

6

Trước khi vụ tai nạn xảy ra đã làm bạn để chạy nó một lần? Nếu vậy nó sẽ được biên soạn và nên có sẵn như là một dll mà bạn có thể mở với .NET Reflector.

Kiểm tra thư mục tạm thời LINQPad, ví dụ: C:\Documents and Settings\username\Local Settings\Temp\LINQPad. Sắp xếp các tập tin theo ngày sửa đổi sau đó kiểm tra một vài trong số các dlls trong Reflector cho đến khi bạn tìm thấy truy vấn của bạn. Nó có thể sẽ không giống với truy vấn của bạn một cách chính xác nhưng nó sẽ đủ tốt để bạn có thể cứu vãn mã của bạn.

CẬP NHẬT: tính năng tự động khôi phục đã được thêm vào LINQPad (Beta, tại thời điểm viết bài này). Theo hiểu biết của tôi, nó đã có sẵn trong số Beta version sớm nhất là v4.28.3. Nhận bản beta để tận dụng lợi thế của nó, hoặc nó có thể đã có trong phiên bản phát hành cho độc giả tương lai của bài đăng này. Nếu LINQPad được khởi chạy sau khi nó bị treo, nó sẽ ném một hộp thoại hỏi xem bạn có muốn khôi phục các truy vấn chưa được lưu hay không.

+0

Bạn đá. Cảm ơn. – spender

+0

@spender cảm ơn bạn. Xem cập nhật của tôi :) –

+1

Tin tuyệt vời. Để công bằng, nó không bao giờ rơi vào tôi một lần nữa. Joe vui lòng giải thích với tôi rằng stackoverflow là một lỗi mà anh ta không thể ngăn cản lấy LinqPad nhưng hoàn cảnh của tôi đã truyền cảm hứng cho anh ta để bao gồm tính năng này. LinqPad là một sản phẩm hiếm có trong số các sản phẩm mà tôi không cảm thấy khó chịu khi trở thành người dùng trả tiền. – spender

Các vấn đề liên quan