2012-12-14 26 views
4

在使用腳本文件時,是否存在任何已知的Intellisense問題和使用#I與#r結合使用的問題?智能感知錯誤和#I與腳本文件

我注意到的是,如果我使用#r引用程序集並使用完整路徑,我將獲得智能感知。

如果我使用#I添加到我的路徑中,而不是使用#r而沒有程序集的完整路徑,那麼我不會爲該程序集中的類型獲取任何intellisense。

這是一個已知的問題?

編輯:

這裏是例子。

這不會給Intellisense,但會運行。

#I @"C:\PathToAssembly" 
#r "MyAssembly.dll" 

open Some.NameSpace //<-- gives errors in intellisense (module not found) 
        // runs just fine when sending to fsi 

下一個示例everythign正常工作。

#r @"C:\PathToAssembly\MyAssembly.dll" 

open Some.NameSpace <-- no error in intellisense. 
+2

你能舉個例子嗎?這更可能是你指的是錯誤的路徑。 – pad

+0

我會的。但基本上我引用了一個自定義程序集。 如果我使用#I和完整的路徑比#r只是爲DLL。我可以運行一切,但我沒有智能感知。 如果我使用帶完整路徑的#r,我可以運行並獲得智能感知。 – Dave

+0

我試圖編輯僞造腳本時遇到了這個問題,但它令人沮喪地斷斷續續。基本上,這正是davewolfs所說的:通常你會得到智能感知,無論是在#r中使用#l和#r還是使用完整路徑。但有時當你使用#l時,你不會。即使它早幾分鐘工作...... – mavnn

回答

0

有一個在MS連接,這似乎是同樣的問題的情況下:

http://connect.microsoft.com/VisualStudio/feedback/details/733523/f-3-0-beta-intellisense-issues-of-interactive-enviroment

它已經封閉,不可複製的,但是原創者發佈了一些細節變通辦法部分建議它是由於在同一個文件夾中有一個FSharp.Core DLL引起的。

是否有可能你在這個文件夾中還有一個FSharp.Core?如果是這樣;刪除它並讓它來自GAC可能會解決此問題(儘管它對我來說聽起來像是一個bug)。