2011-10-26 92 views
-1

我有多個F#項目的解決方案。我可以在使用相對路徑的項目之間輕鬆引用。如何註冊F#Interactive永久路徑

但是,如果我想使用該項目的.fsx文件在另一個項目中,我必須提供相應的DLL文件,這是相當不方便的絕對路徑。我注意到,F#動力組可在F#互動便利的方式引用:

#r "FSharp.Powerpack.dll" 

我怎麼能永久性地登記的路徑,F#互動或引用項目在F#交互使用,而不提供絕對路徑?

回答

2

由於丹尼爾指出,F#PowerPack中可以使用短名稱引用,因爲它安裝到GAC(全局程序集緩存)。這需要對程序集進行簽名,並且我通常不會將其用於非系統庫。

如果裝配的位置是永遠不變的,相對於F#腳本文件(例如,如果腳本文件是項目的一部分),那麼你可以使用相對路徑:

#r @"..\Library\bin\Debug\Library.dll" 

另一種方法是創建一些自定義文件夾並告訴F#Interactive在該文件夾中搜索程序集。這可以通過添加一個命令行參數-I:"C:\your\folder"到F#互動過程中完成(在Visual Studio中,進入「選項」,然後在「F#工具」,改變「F#互動選項」)。

2

您可以使用#I來設置目錄路徑一次。然後使用#r從那裏只有文件名。在PowerPack的情況下,它可能在GAC中,所以只需要程序集名稱。

+0

隨着I路,我還是要使用絕對路徑,爲每一個FSX文件我想運行。在多臺機器上使用相同的代碼庫並不方便。 – pad