F#无法识别interop.office.Excel.dll文件

5
在VS2015中添加对interop.office.Excel.dll的引用后,F#(4.0,.net 4.6.1)仍然无法识别Excel.dll下的类型。

enter image description here

Excel.dll的引用看起来像这样

enter image description here

作为比较,我创建了一个C#项目并引用相同的内容,没有找到引用方面的问题。
奇怪的是,如果在Excel DLL下引用工作簿对象,F#代码确实可以编译。(我只需要将其视为动态类型)只有智能感知不起作用。
有什么建议吗?谢谢。

你正在尝试使用哪个版本的Excel? - s952163
1个回答

3
很可能(就像错误信息所说的那样),您需要在FSI或VS的引用中添加office.dll的引用。Excel和Office可以安装各种不同的版本,因此我假设您使用的是Excel 2010(即Ver 14)。在这种情况下,请明确指出:
#r @"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Office.Interop.Excel.dll"
#r @"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Visual Studio Tools for Office\PIA\Office14\Office.dll"
open Microsoft.Office.Interop.Excel

let xlApp = new ApplicationClass(Visible = true) 
xlApp.

xlApp现在将具有智能感知:

输入图像描述


谢谢。这个Office DLL没有出现在参考添加窗口中。我想知道它在哪里。感谢您指出位置。 - casbby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接