Microsoft.Office.Core参考丢失


93

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

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

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


尝试了两个建议,但似乎仍然无法解决。问题是我的情况下“适合您系统的COM库”是什么?
Maxim Gershkovich 2011年

你有没有解决这个问题?我有同样的问题。
2011年

Answers:


157

您可以添加的引用Microsoft.Office.CoreCOM组件加入的参考添加引用窗口标签Microsoft Office 12.0 Object Library。屏幕快照将显示您需要的组件。

在此处输入图片说明


.NET-> Office(如果已安装PIA)。请参阅下面的Spike的答案。
samis 2014年

3
我使用了“ Microsoft Office 14.0对象库”(不存在12.0),它也可以正常工作。另外,我必须先删除对“ Microsoft.Office.Core”的引用。
marsze

Jazakallah Adil bhai。为我工作。
shaikhspear '17

2
我正在使用Visual Studio 2017,但在COM选项卡中看不到``Microsoft Office XX.X对象库''。我需要安装“ Microsoft Office”吗?
卡斯珀

@Kin你知道该怎么做吗?我也在使用VS 2017,但没有看到对办公室库的引用。您必须安装Microsoft Office吗?
Luis Palacios

22

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

在此处输入图片说明

之后,我能够看到“办公室”,该程序集包含Microsoft.Office.Core。

在此处输入图片说明

希望对您有帮助。


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的计算机上安装Office可以:

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

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

4

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


1
赞成,因为这实际上对我有用。最初将引用设置为.COM并不能解决问题。
DrMarbuse

很高兴知道此.NET选项卡在哪里
Edward

3

现在有一个nuget包。

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

首先,我没有在COM中找到办公室,所以尝试了这个nuget并成功了!


1
添加答案:如果您通过NuGet程序包管理器控制台(例如PowerPoint或Excel)安装Office Interop库,它也似乎也要安装此程序...如果您使用Visual Studio NuGet GUI,这似乎并不正确。
Thumper

2

您是否真的去过引用,并向'Microsoft.Office.Core'库添加了.NET引用?如果您下载了示例应用程序,则答案为是。如果是这种情况,请按照文章中的建议进行操作:

如果您的系统没有Microsoft Office Outlook 2003,则可能必须更改“ OutlookConnector”项目使用的引用。也就是说,如果收到描述为“找不到命名空间名称'Outlook'的类型”的生成错误,则可能没有Office2003。只需展开项目引用,删除受影响的项目,然后添加适用于您的系统的COM库。如果有人动态地处理此问题,我很想知道您已经完成了。

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


2

如果您使用的是Visual Studio 2012,则需要使用Visual Studio 2012才能进行引用,并且要引用Microsoft Office Core,您必须通过以下方法通过Visual Studio进行引用:单击顶部菜单的“项目”,“添加引用”,“扩展”按钮并检查office现在是(14.0)。


1

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

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

您完成了。



0

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


-1

打开解决方案的属性,然后单击发布。然后,重新单击应用程序文件。更改包含的先决条件。


-1

我也有麻烦 我去添加引用,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()));
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.