2010-06-28 66 views
3

我有第三方.dll,我已成功添加爲VS 2010 C#項目和F#VS 2010項目中的參考。我可以在兩種情況下查看對象瀏覽器中的內容,但F#版本不會讓我「打開」庫。它可以在C#項目中正常工作(使用「using」指令),並且我可以編寫一個使用此特定.dll內容的程序。我對Windows 7上的F#/ VS 2010/.NET 4.0中的其他.dll沒有任何問題。找不到命名空間或模塊「NagLibrary」,但引用已成功添加(?)

有關爲什麼會發生這種情況的任何想法?或者我可以如何進一步調試?

回答

1

查看csc.exe和fsc.exe命令行對於所討論的庫(在VS中,在重建後打開「輸出窗口」),查看它們是否具有相同的引用(例如-r:Path\Library.dll )。

而且要清楚,你說

open NagLibrary 

在F#中得到的稱號錯誤消息,但

using NagLibrary; 
在C#中的作品

,並打開命名空間?

+0

是的,你有什麼上面說的是什麼,我經歷。 當我構建F#項目(而不嘗試「打開NagLibrary」)時,實際上看到以下內容: -r:「C:\ Program Files(x86)\ NAG \ NAG Library for .NET 64Bit \ NagLibrary64.dll「因此它似乎找到了它(?) – user297400 2010-06-28 21:03:36

+0

嗯,它看起來像64位/ 32位不匹配可能?嘗試在配置管理器中更改項目的平臺 – 2010-06-28 21:15:43

+0

csc.exe是否找到相同的庫/路徑? – Brian 2010-06-28 21:42:41

0

確保您參考使用雙「\」公約 我在腳本中的路徑這個工作

#r "C:\homeware\\blp\\api\\APIv3\\DotnetAPI\\v3.4.5.4\\lib\\Bloomberglp.Blpapi.dll" 

open Bloomberglp.Blpapi 
+0

請注意,如果您使用@「C:\ homeware \ ...」等逐字字符串,則不必編寫雙反斜槓。 – pad 2012-02-21 16:57:37

+0

@pad確實有更好的風格。謝謝 – nicolas 2012-02-22 10:48:32