PIA的已安装但仍然收到互操作错误

问题描述:

我想使用Microsoft.Office.Interop.xxxxxxx命名空间,但Visual Studio 2010未提供“互操作”选项。我已经为office12和office14安装了PIA,我已将它们包含在解决方案资源管理器的“参考”中,但它不起作用。PIA的已安装但仍然收到互操作错误

的代码我试图调用命名空间是:

using Excel = Microsoft.Office...; 

后“办公室”,我只给出了“核心”的选项。所以它看起来是这样的

using Excel = Microsoft.Office.Core; 

这匹配了被导入的引用......但使用这个命名空间似乎没有用。

我的问题是如何让Microsoft.Office.Interop选项被接受并显示在intellisense中?

实施例:

using Excel = Microsoft.Office.Interop.Excel; 
接收关于“互操作” = “类型或命名空间名称‘互操作’不存在于命名空间‘Microsoft.Office’存在(是否缺少的组件参考

错误消息?)

我在Solution Explorer中加载的程序集是“Microsoft Office 14.0 Object Library”TypeLib 2.5版。程序集路径=“C:\ Program Files \ Common Files \ Microsoft Shared \ OFFICE14 \ MSO.DLL

Th任何建议anks!

您没有选择正确的参考。改为使用“Microsoft Excel 14.0对象库”。

请注意,VS2010支持装配参考的Embed Interop Types属性。您真的想将其用于Office应用程序,不需要PIA。它会自动设置为True。

+0

汉斯,谢谢你的回复。我在添加引用> .NET下找到了引用Microsoft.Office.Interop.Excel,而不是COM,它正在工作。 – Chris 2012-07-14 21:00:25

+0

我实际上在COM选项卡中找不到那个。你是否知道一个可以解释你提到的“嵌入式互操作类型”的源代码? – Chris 2012-07-14 21:10:49

+0

你有另一个问题。如果你没有看到它在我给你的名字的COM选项卡中列出,那么你没有在机器上安装Office,并且你不能测试你的代码。只是PIA不够好。你需要解决这个问题。 – 2012-07-14 21:11:47