Microsoft.Office.Core方法签名问题

时间:2012-05-21 15:47:00

标签: .net com office-interop boo

编译使用互操作的Boo项目时出现以下错误:

textbox = _ActiveWorkSheet.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, left, top, width, height)

方法'Microsoft.Office.Interop.Excel.Shapes.AddTextbox(Microsoft.Office.Core.MsoTextOrientation,single,single,single,single)'的最佳重载与参数列表不兼容' (Microsoft.Office.Core.MsoTextOrientation,单,单,单,单)'。 (BCE0017)

正如您所看到的签名相同,问题似乎是识别MsoTextOrientation。

我安装了PIA for 2010,可以添加对COM“Microsoft Office 14.0对象库”的引用,并可以从中导入Microsoft.Office.Core命名空间。它只是在方法签名上分崩离析。

我使用的是boo编译器版本0.9.1.3287,嵌入在Sharpdevelop 3.2.1中。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

行,

事实证明有两种方法可以将Microsoft.Office.Core命名空间带入项目中:

  1. 从COM导入“Microsoft Office 14.0对象库”(在参考文献中显示为“Office”)
  2. 从GAC导入“办公室”(在参考文献中显示为“办公室”)
  3. 我不知道为什么它被列为GAC添加引用列表中的“office”而不是“Microsoft.Office.Core”。这就是为什么我错过了它而最终在COM中查找,并且看到命名空间导入正常我认为一切都好......

    我不太了解如何处理来自不同程序集的相同命名空间,但是这些类型被标记为不兼容的可能性只是一个boo / Sharpdevelop问题?我希望有更多的人能够解决这个问题,因为它发生在visual studio / C#...