2010-09-27 55 views
29

有誰知道如何獲得LINQPad腳本文件(.linq)所在目錄的路徑?LINQPad腳本目錄?

或者就腳本本身而言。

請注意,我不是在討論「我的查詢」文件夾的位置,這是在LINQPad中顯示的文件夾的位置。

我可以將一個.linq文件保存在磁盤上的任何位置,並通過雙擊打開它。

例如,如果我將文件保存到C:\Temp\Test.linq,並執行該程序,我想要有C:\TempC:\Temp\Test.linq

基本上我想要類似於Environment.CurrentDirectoryAssembly.GetEntryAssembly().Location的東西,只是爲.linq文件。

事情我已經嘗試:

  • 翻翻環境變量
  • 通過給予我的腳本
  • 拋出異常,看着堆棧跟蹤(在LINQPad裝配展望包含一個鏈接我的腳本在其他地方的臨時副本)
  • Environment.CommandLine.Dump(); - 給出LINQPad可執行文件
  • Environment.CurrentDirectory.Dump(); - 給出C:\ windows \ system32
  • Assembly.GetExecutingAssembly().Location.Dump(); - 給temp目錄
+0

執行上下文總是將是節目的位置。如果存在文件位置,則需要特定的LinqPAD API。 – cjk 2010-09-27 10:45:52

+1

是的,我有點想知道是否有人知道那是什麼:)(假設有一個) – 2010-09-27 12:32:30

回答

56

我只是增加了一個功能來解決這個問題。您現在可以通過下載2.27.1 or 4.27.1 beta build進行測試。

爲了得到當前查詢的文件夾,使用下面的表達式:

Path.GetDirectoryName (Util.CurrentQueryPath) 
+1

有很多原因,我只是喜歡LINQPad,你似乎沒有問題提出新的理由:)非常感謝你! – 2010-09-28 10:17:37

+0

@joe,就是我在找的東西。我也想你的意思是[Path.GetDirectoryName](http://msdn.microsoft.com/en-us/library/system.io.path.getdirectoryname.aspx)。 – Joe 2011-03-28 23:58:02

+3

其實 Path.GetDirectoryName(Util.CurrentQueryPath) – 2011-08-21 08:48:21

0

我想你的意思是編程而不是通過UI本身。

到LINQ文件目錄的路徑在

%APPDATA持有%\ LINQPad \ querypath.txt

+0

不,它包含「My Queries」目錄的路徑。我可以在其他地方輕鬆保存.linq文件,並且它是我想要的真實位置,我將編輯該問題以進行說明。我想要當前正在執行的腳本的.linq文件的完整路徑。 – 2010-09-27 10:30:24

+0

好的 - 問題現在更清楚了。我不知道答案,但是當你執行一個尚未保存的查詢時,你想返回什麼? – kjn 2010-09-27 10:35:43

+0

基本上,溫度,不管。在這種情況下,可能合乎邏輯的是,它將路徑返回到腳本的臨時副本。例如,由於某種原因,我可能對閱讀源代碼感興趣,但我的主要用途是訪問與腳本本身相同的目錄中的數據文件,而不用硬編碼腳本所在的路徑。 – 2010-09-27 10:38:13