.net – F#无法识别interop.office.Excel.dll

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

《.net – F#无法识别interop.office.Excel.dll》

对Excel.dll的引用如下所示

《.net – F#无法识别interop.office.Excel.dll》

作为比较,我创建了一个具有相同引用的C#项目,没有找到引用的问题.

奇怪的是,如果引用excel dll下的工作簿对象,F#代码会编译. (我只需将它视为动态类型)只有intellisense不起作用.

有什么建议吗?谢谢

最佳答案 最有可能(正如错误消息所示),您需要添加对office.dll的引用(在FSI或VS的引用中).可以安装各种版本的excel和office,所以我假设你使用的是Excel 2010(版本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现在将具有智能感知:

《.net – F#无法识别interop.office.Excel.dll》

点赞