2010-09-27 31 views
29

Có ai biết cách giữ đường dẫn đến thư mục chứa tệp kịch bản LINQPad (.linq) không?Thư mục tập lệnh LINQPad?

Hoặc bản thân tập lệnh cho vấn đề đó.

Lưu ý rằng tôi không nói về vị trí của thư mục "Truy vấn của tôi", thư mục được hiển thị bên trong LINQPad.

Tôi có thể lưu tệp .linq ở bất cứ đâu trên đĩa và mở tệp bằng cách nhấp đúp vào tệp .lin. Ví dụ: nếu tôi lưu tệp vào C:\Temp\Test.linq và thực thi chương trình, tôi muốn có C:\Temp hoặc C:\Temp\Test.linq.

Về cơ bản tôi muốn một cái gì đó giống như Environment.CurrentDirectory hoặc Assembly.GetEntryAssembly().Location, chỉ dành cho tệp .linq.

Những điều tôi đã cố gắng:

  • Nhìn qua biến môi trường
  • Nhìn qua lắp ráp LINQPad được trao cho kịch bản của tôi
  • Ném một ngoại lệ và nhìn vào stacktrace (chứa một liên kết đến một bản sao tạm thời của tập lệnh của tôi ở một nơi khác)
  • Environment.CommandLine.Dump(); - cung cấp LINQPad thực thi
  • Environment.CurrentDirectory.Dump(); - cung cấp C: \ windows \ system32
  • Assembly.GetExecutingAssembly().Location.Dump(); - cho thư mục tạm
+0

Bối cảnh thực hiện được luôn luôn có được vị trí chương trình. Bạn cần một API LinqPAD cụ thể nếu một tồn tại cho vị trí tệp. – cjk

+1

Có, tôi đã tự hỏi nếu ai đó biết đó là gì :) (giả sử có một) –

Trả lời

56

Tôi vừa mới bổ sung thêm một tính năng để giải quyết vấn đề này. Bạn có thể kiểm tra nó ngay bây giờ bằng cách tải xuống 2.27.1 or 4.27.1 beta build.

Để có được thư mục truy vấn hiện tại, sử dụng các biểu thức sau đây:

Path.GetDirectoryName (Util.CurrentQueryPath) 
+1

Có nhiều lý do khiến tôi chỉ thích LINQPad. không có vấn đề gì với lý do mới :) Cảm ơn bạn rất nhiều! –

+0

@joe, chỉ là những gì tôi đang tìm kiếm. tôi cũng nghĩ bạn có nghĩa là [Path.GetDirectoryName] (http://msdn.microsoft.com/en-us/library/system.io.path.getdirectoryname.aspx). – Joe

+3

Trên thực tế Path.GetDirectoryName (Util.CurrentQueryPath) –

0

Tôi đoán bạn có nghĩa là programatically và không thông qua giao diện người dùng riêng của mình.

Đường dẫn đến thư mục tập tin LINQ được tổ chức tại

% APPDATA% \ LINQPad \ querypath.txt

+0

Không, có chứa đường dẫn đến thư mục "Truy vấn của tôi". Tôi có thể dễ dàng lưu các tệp .linq ở mọi nơi khác và đó là vị trí thực sự tôi muốn, tôi sẽ chỉnh sửa câu hỏi để làm rõ. Tôi muốn đường dẫn đầy đủ đến tệp .linq của tập lệnh hiện đang thực hiện. –

+0

Ah ok - câu hỏi rõ ràng hơn bây giờ. Tôi không biết câu trả lời nhưng bạn muốn trả lại cái gì khi bạn thực hiện một truy vấn chưa được lưu? – kjn

+0

Bất cứ điều gì về cơ bản, tạm thời, bất cứ điều gì. Nó có lẽ trong trường hợp đó là hợp lý mà nó trả về đường dẫn đến một bản sao tạm thời của kịch bản. Ví dụ, vì một số lý do tôi có thể quan tâm đến việc đọc nguồn, nhưng việc sử dụng chính của tôi là truy cập các tệp dữ liệu trong cùng thư mục với chính kịch bản, mà không mã hóa đường dẫn đến nơi tập lệnh tồn tại. –

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