缺少 Microsoft.Office.Core 引用

Microsoft.Office.Core Reference Missing

提问人:Maxim Gershkovich 提问时间:5/9/2011 最后编辑:AdilMaxim Gershkovich 更新时间:10/16/2023 访问量:198963

问:

使用代码项目中提供的示例,我正在努力找出在哪里可以找到对库 Microsoft.Office.Core 的引用。

我收到错误“找不到引用的组件'Microsoft.Office.Core'”。

我只在这个系统上安装了 Office 2007 企业版和 Outlook 2003。这可能是造成这种情况的原因吗?否则我应该引用哪个特定的 dll?

C# Outlook 自动化 com MS-Office

评论

0赞 Maxim Gershkovich 5/9/2011
尝试了这两个建议,但似乎仍然被卡住了。问题是,在我的情况下,“适合您系统的 COM 库”是什么?

答:

2赞 IAmTimCorey 5/9/2011 #1

您是否真的转到了您的引用并将 .NET 引用添加到“Microsoft.Office.Core”库?如果您下载了示例应用程序,答案将是肯定的。如果是这种情况,请遵循文章中的建议:

如果您的系统没有 Microsoft Office Outlook 2003,您可能需要更改“OutlookConnector”项目使用的引用。也就是说,如果您收到描述为“找不到命名空间名称'Outlook'的类型”的生成错误,则您可能没有 Office 2003。只需展开项目引用,删除受影响的项,然后添加适合您系统的 COM 库。如果有人有一种动态的方式来处理这个问题,我很好奇你已经做到了。

这应该可以解决您的问题。如果没有,请告诉我们。

18赞 Phil Wright 5/9/2011 #2

您需要下载并安装您正在使用的 Office 版本的 PIA(主互操作程序集)。安装后,您可以添加对项目的引用,这些引用将在添加引用对话框中可用。以下是下载它们的链接...

Office 2010 PIA

Office 2007 PIA

Office 2003 PIA

评论

7赞 Maxim Gershkovich 5/9/2011
尝试了所有三个。到目前为止没有运气!
3赞 oo_dev 12/8/2015
安装了 PIA,但在“添加引用”中找不到它们,但后来它通过直接从路径添加 DLL 为我工作,例如 C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Excel\xxxx\....
2赞 JohnD 3/17/2016
我已经能够找到其他 PIA,但找不到 Microsoft.Office.Core
0赞 Edward 6/3/2017
仍未显示在 COM 列表中以添加为引用
169赞 Adil 9/6/2012 #3

您可以通过添加 的引用来添加 from COM 组件选项卡的引用。屏幕截图将显示您需要的组件。Microsoft.Office.CoreMicrosoft Office 12.0 Object Library

enter image description here

评论

0赞 samus 12/31/2014
.NET->Office(如果安装了 PIA)。请参阅下面 Spike 的回答。
5赞 marsze 3/9/2017
我使用了“Microsoft Office 14.0对象库”(12.0不存在),它也可以工作。此外,我必须首先删除对“Microsoft.Office.Core”的引用。
0赞 shaikhspear 4/1/2017
贾扎卡拉·阿迪尔·拜。为我工作。
2赞 Casper 7/27/2017
我正在使用 Visual Studio 2017,但在 COM 选项卡中看不到“Microsoft Office XX.X 对象库”。我需要安装“Microsoft Office”吗?
0赞 Luis Palacios 9/28/2017
@Kin 你知道该怎么做了吗?我也在使用 VS 2017,但我没有看到对办公室库的引用。您是否必须安装 Microsoft Office?
5赞 Spike 8/18/2014 #4

安装 Office PIA(主互操作程序集)后,添加对项目的引用 - > .NET 选项卡上的项目 - 组件名称“Office”

评论

1赞 DrMarbuse 11/8/2016
投了赞成票,因为这实际上对我做了。最初设置对 .COM 的引用并不能解决问题。
0赞 Edward 6/3/2017
很高兴知道这个 .NET 选项卡在哪里
2赞 Humbert 5/22/2015 #5

如果您使用的是Visual Studio 2012,要使其正常工作并引用Microsoft Office Core,则必须通过单击顶部菜单的项目,添加引用,扩展按钮并检查现在的Office(14.0)通过Visual Studio进行引用。

5赞 Artur Tarnowski 7/24/2015 #6

如果有人在 .NET 中没有引用。COM(选项卡)或未在安装了视觉的计算机上安装 office 可以执行以下操作:

  1. 下载并安装:Microsoft Office 开发人员工具
  2. 添加以下引用:

    C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15
    
0赞 Giovanni Rodrigo Garcia Rada 8/12/2016 #7

我有同样的麻烦。我去了添加引用,COM选项卡,选择Microsoft Office 15.0 Objetct库。好的,我的问题结束了。

我的部分代码是:

EXCEL.Range rango;
            rango = (EXCEL.Range)HojadetrabajoExcel.get_Range("AE13", "AK23");
            rango.Select();
      //      EXCEL.Pictures Lafoto = (EXCEL.Pictures).HojadetrabajoExcel.Pictures(System.Reflection.Missing.Value);
            EXCEL.Pictures Lafoto = HojadetrabajoExcel.Pictures(System.Reflection.Missing.Value);

            HojadetrabajoExcel.Shapes.AddPicture(@"D:\GENETICA HUMANA\Reportes\imagenes\" + Variables.nombreimagen,
                Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue,
                float.Parse(rango.Left.ToString()),float.Parse(rango.Top.ToString()), float.Parse(rango.Width.ToString()),
                float.Parse(rango.Height.ToString()));
5赞 Mr. Ott 11/29/2016 #8

现在有一个 nuget 包。

https://www.nuget.org/packages/NetOffice.Core.Net40/

首先我在 COM 中没有找到办公室,所以尝试了这个 nuget,它起作用了!

评论

1赞 Thumper 7/12/2017
补充回答:如果通过 NuGet 包管理器控制台(例如 PowerPoint 或 Excel)安装 Office 互操作库,它看起来也会安装它......如果使用 Visual Studio NuGet GUI,情况似乎并非如此
0赞 Chandraprakash 10/1/2021
这不是由 Microsoft 提供的,而是由单个开发人员提供的
0赞 Yogi 10/28/2021
更正 - NuGet PMC 不会安装上述评论中声称的此包。
33赞 Abhimanyu 12/19/2017 #9

上面的答案都没有帮助我,我正在使用 Visual Studio 2017。我所做的是,使用 Visual Studio 安装程序安装 Office/SharePoint 开发。

enter image description here

之后,我能够看到“office”,这个程序集包含 Microsoft.Office.Core。

enter image description here

希望这对你有所帮助。

评论

0赞 EllieK 12/14/2022
我在大会 - 框架列表下查看,找不到办公室。正如你所指出的,我实际上不得不搜索办公室,以便找到办公室大会。添加后,一切都编译好了。谢谢!
0赞 SedJ601 1/14/2023
注意:要进入此视图,我单击了“工具”和“获取工具和功能”。
1赞 Deepesh 2/23/2018 #10

如果找不到 Office 2013 的 PIA,请按照下列步骤操作:

  1. 单击 Visual Studio 中的“解决方案资源管理器”
  2. 右键单击项目名称(而不是解决方案名称)
  3. 选择“管理 Nuget 包”
  4. 单击“浏览”并搜索“PIA 2013”,选择显示的 PIA,然后单击“安装”.....

你就完成了。

0赞 Jobayer Rifad 10/25/2018 #11

当我尝试将旧的 c# 项目打开到 Visual Studio 2017 版本时,我遇到了同样的问题。当您尝试打开使用以前版本的 VS 创建的项目并使用最新版本打开它时,通常会出现此问题。我所做的是,我打开我的项目并从我的项目中删除引用,然后添加了 Microsoft Outlook 12.0 对象库和 Microsoft Office 12.0 对象库 Microsoft Outlook 12.0 对象库

5赞 Matt Scully 6/11/2020 #12

可以使用此 NuGet 包,该包除了 Office 程序集外,还包括互操作程序集。

https://www.nuget.org/packages/Bundle.Microsoft.Office.Interop/

评论

1赞 Yogi 12/23/2021
所有者已取消列出此包。这可能意味着该包已弃用、存在安全漏洞或不应再使用。
0赞 Nahidul Islam 3/1/2021 #13

就我而言,当我从 Reference->COM 添加“Microsoft Excel 对象库”和“Microsoft Office 对象库”时,引用错误消失了。

0赞 yanzzz 10/16/2023 #14

我遇到了同样的问题,但COM组件在另一台计算机上工作正常。突然,在另一台计算机上找不到它。我引用了工作计算机上 COM 组件的路径,如图所示:enter image description here

路径:C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX86\Microsoft Shared\Office16\MSO.DLL

添加后,一切按预期进行。