编译使用互操作的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, single, single, single, single("不兼容。(BCE0017(
如您所见,签名是相同的,问题似乎是识别 MsoTextOrientation。
我安装了 2010 年的 PIA,可以添加对 COM "Microsoft Office 14.0 对象库"的引用,并可以从中导入 Microsoft.Office.Core 命名空间。它只是在方法签名处分崩离析。
我正在使用嵌入在Sharpdevelopment 3.2.1中的boo编译器版本0.9.1.3287。
有什么想法吗?
好的,
事实证明,有两种方法可以将Microsoft.Office.Core命名空间引入项目:
- 从 COM 导入"Microsoft Office 14.0 对象库"(在参考中显示为"Office"(
- 从 GAC 导入"办公室"(在您的参考资料中显示为"办公室"(
我不知道为什么它在GAC Add引用列表中被列为"office"而不是"Microsoft.Office.Core"。这就是为什么我错过了它并最终在 COM 中查找,并且看到导入的命名空间很好,我认为一切都很好......
我对如何处理来自不同程序集的相同命名空间知之甚少,但是这些类型被标记为不兼容是否有可能只是一个嘘声/Sharpdevelop问题?我希望更多的人会遇到这个问题,因为它发生在Visual Studio/C#上......