无法添加对 microsoft.office.interop.excel 的引用

Posted

技术标签:

【中文标题】无法添加对 microsoft.office.interop.excel 的引用【英文标题】:Can't add a reference to microsoft.office.interop.excel 【发布时间】:2013-11-26 13:00:35 【问题描述】:

我正在运行 Visual Studio 2010、.NET 4.5 和 Office 2010。我在尝试运行的一些旧代码上收到一条警告,提示我缺少 Microsoft.Office.Interop.Excel==12.0.0.0Microsoft.Office.Interop.Access==12.0.0.0 的程序集引用。

经过搜索,我找到了这个post

我安装了Primary Interop Assemblies,当我转到添加/删除程序时,它们会显示在我的控制面板中。但是,我仍然没有从 Visual Studio 中 COM 或 .NET 插件的添加引用下拉列表中对互操作程序集的可选引用。当我导航到C: > Windows > assembly > GAC 时,我也没有互操作程序集,正如上一篇文章中所建议的那样。

在我的系统中搜索任何标记为“.Interop”的内容不会产生 Office.Interop 文件。真令人沮丧,因为它说程序集已安装。

添加对 Microsoft.Excel 和 Microsoft.Access COM 插件的简单引用不会删除警告。

更新:我能够让它工作。互操作程序集 12.0 版是 Office 2007 的原生版本。我运行的是具有 14.0 版程序集的 Office 2010。这些程序集向后兼容,但我无法在浏览器中“看到”它们,因为我必须选择我的项目以在“任何 CPU”而不是“x86”上构建。

【问题讨论】:

您的项目属性中的目标框架是否正确? GAC 是 C: > Windows > Microsoft.NET > 程序集 @Sam 是的,针对 .NET 4.0 @terrybozzio 在该路径的任何文件夹中都看不到 Microsoft.Office.Interop 任何内容 是的,您必须“浏览”该项目。此外,您必须知道它们在哪里......不太难,但也一点也不明显。您还可以在上面添加您的解决方案作为您的问题的答案。 【参考方案1】:

我能够得到这个工作。互操作程序集 12.0 版是 Office 2007 的原生版本。我运行的是具有 14.0 版程序集的 Office 2010。这些程序集向后兼容,但我无法在浏览器中“看到”它们,因为我必须选择我的项目以在“任何 CPU”而不是“x86”上构建。

【讨论】:

【参考方案2】:

安装 Visual Studio 时需要选择“Microsoft Office Developers Tools”。见http://msdn.microsoft.com/en-us/library/54ds2za4%28v=vs.100%29.aspx

顺便说一句,如果在更改 vs 设置时收到“所选驱动器不再有效”消息,请先卸载 sp1。

【讨论】:

【参考方案3】:

我在使用非常旧的 Office 版本(从 360 到 2000)时发生了这种情况...我不得不从这里下载 PIA 可再发行组件:https://www.microsoft.com/en-us/download/details.aspx?id=3508

然后我提取了“PIARedist.exe”文件创建的 .msi 文件。我为此使用了 7-zip。 (由于某种原因,运行 .msi 安装程序不起作用。不太清楚为什么......)我删除了对“Microsoft.Office.Interop.Excel”的引用,然后我添加/浏览了“EXCELPIA.DLL”我已从 .msi 文件中提取。这似乎解决了我遇到的问题。

【讨论】:

以上是关于无法添加对 microsoft.office.interop.excel 的引用的主要内容,如果未能解决你的问题,请参考以下文章

为多个图像创建Zip文件c#

无法添加对 dll 的引用

由于循环依赖错误,无法添加对项目的引用

无法添加对 SharePoint 列表服务的引用

添加对 Swift 包管理器的支持无法正确构建

无法添加 API DLL 作为对 windows phone 8 的引用