Microsoft.Office.Core引用丢失。

105

我正在使用codeproject网站上提供的示例,但我不知道在哪里可以找到Microsoft.Office.Core库的引用。

我遇到了错误:"The referenced component 'Microsoft.Office.Core' could not be found."

我只安装了Office 2007企业版和Outlook 2003。这可能是原因吗?否则,我应该引用哪个特定的dll文件呢?


尝试了两个建议,但仍然卡住了。问题是在我的情况下,“适合您系统的COM库”是什么? - Maxim Gershkovich
14个回答

169
你可以通过添加 Microsoft Office 12.0 Object Library 的引用,从“COM 组件”选项卡中添加 Microsoft.Office.Core 的引用。屏幕截图将显示您需要的组件。

enter image description here


.NET->Office(如果安装了PIA)。请参见Spike的答案。 - samus
5
我使用了“Microsoft Office 14.0 Object Library”(12.0不存在),同样有效。另外,我首先需要删除对“Microsoft.Office.Core”的引用。 - marsze
贾扎卡拉阿迪尔兄弟。对我有用。 - shaikhspear
2
我正在使用Visual Studio 2017,但是在COM选项卡中看不到"Microsoft Office XX.X Object Library"。我需要安装"Microsoft Office"吗? - Casper
@Kin 你找到该怎么做了吗?我也在使用VS 2017,但是我没有看到关于office库的引用。你是否需要安装Microsoft Office? - Luis Palacios
显示剩余3条评论

33

以上答案都没能帮助我,我使用的是Visual Studio 2017。我的做法是,使用Visual Studio Installer安装Office/SharePoint开发工具。

图片描述

安装完成后,我就能看到'office'了,这个程序集包含Microsoft.Office.Core。

图片描述

希望这对你有帮助。


我在“程序集 - 框架”列表下查找,但没有找到“office”。实际上,我必须像你所说的那样进行搜索才能找到“office”程序集。添加后,一切都编译成功了。谢谢! - EllieK
注意:要进入此视图,我点击了“工具”和“获取工具和功能”。 - SedJ601
注意:要进入此视图,我点击了“工具”和“获取工具和功能”。 - SedJ601

18

您需要下载并安装适用于您使用的 Office 版本的 PIA(主要互操作组件集)。安装后,您可以将其添加到项目引用中,并可从添加引用对话框中使用它们。以下是下载链接...

Office 2010 PIA

Office 2007 PIA

Office 2003 PIA


7
尝试了全部三种方法,到目前为止都没有成功! - Maxim Gershkovich
3
安装了PIA但在“添加引用”中找不到它们,但是我通过直接从路径添加DLL(例如C:\ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Excel \ xxxx \ ...)成功解决了这个问题。 - oo_dev
2
我已经能够找到其他PIA,但没有找到Microsoft.Office.Core。 - JohnD
仍然没有出现在COM列表中,无法添加为引用。 - Edward

5

如果某人在.NET .COM(选项卡)中没有引用或者在安装Visual Studio的计算机上没有安装Office,则可以执行以下操作:

  1. Download and install: Microsoft Office Developer Tools
  2. Add references from:

    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15
    

5

安装完Office PIA(主要互操作组件)后,将其添加到您的项目引用中 -> 它在.NET选项卡上 - 组件名称为“Office”


1
点赞,因为这确实对我有用。最初将引用设置为.COM并没有解决问题。 - DrMarbuse
很高兴知道这个.NET选项卡在哪里。 - Edward

5

1
补充答案:如果你通过NuGet包管理器控制台(比如PowerPoint或Excel)安装Office Interop库,它似乎也会安装这个...但是如果你使用Visual Studio NuGet GUI,则不会出现这种情况。 - Thumper
这不是由微软开发的,而是由个人开发者开发的。 - Chandraprakash
更正 - NuGet PMC并不像上面的评论所说的那样安装这个包。 - Yogi

5

1
该软件包的所有者已将其取消列出。这可能意味着该软件包已被弃用、存在安全漏洞或不应再使用。 - Yogi

2
你是否已经添加了 .NET 引用到“Microsoft.Office.Core”库?如果你下载了示例应用程序,答案应该是肯定的。如果是这种情况,请按照文章中的建议操作:
如果你的系统没有安装 Microsoft Office Outlook 2003,则可能需要更改“OutlookConnector”项目使用的引用。也就是说,如果你遇到了构建错误,描述为“找不到命名空间 'Outlook' 的类型”,那么你可能没有安装 Office 2003。只需展开项目引用,删除受影响的项,并添加适合你系统的 COM 库。如果有人有一种动态处理此问题的方法,我很想看看你做了什么。
这样应该解决你的问题。如果没有解决,请告诉我们。

2

如果您使用的是Visual Studio 2012,为了使其正常工作并引用Microsoft Office Core,您需要通过Visual Studio进行引用。具体操作为:在顶部菜单中点击“项目(Project)”选项,选择“添加引用(Add Reference)”并勾选现在版本为(14.0)的office扩展。


1
如果您无法找到Office 2013的PIA,则按照以下步骤操作:
  1. 在Visual Studio中单击“Solution Explorer”
  2. 右键单击项目名称(而不是解决方案名称)
  3. 选择“管理Nuget包”
  4. 单击“浏览”,搜索PIA 2013,选择显示的PIA并单击“安装”.....

完成。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接