F#不识别interop.office.Excel.dll

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

在这里输入图像说明

对Excel.dll的引用看起来像

在这里输入图像说明

作为比较,我创build了一个具有相同引用的C#项目,没有find引用的问题。

奇怪的是,如果引用excel dll下的工作簿对象,F#代码将会编译。 (我只是把它看作是一个dynamictypes)只有intellisense不工作。

有什么build议? 谢谢

最有可能的(就像错误消息所述),你需要添加一个对office.dll的引用(在FSI或在VS的参考)。 可以有各种版本的Excel和办公室安装,所以我只是假设你正在使用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现在将具有智能感知:

在这里输入图像说明