提问人:Maxim Gershkovich 提问时间:5/9/2011 最后编辑:AdilMaxim Gershkovich 更新时间:10/16/2023 访问量:198963
缺少 Microsoft.Office.Core 引用
Microsoft.Office.Core Reference Missing
问:
使用代码项目中提供的示例,我正在努力找出在哪里可以找到对库 Microsoft.Office.Core 的引用。
我收到错误“找不到引用的组件'Microsoft.Office.Core'”。
我只在这个系统上安装了 Office 2007 企业版和 Outlook 2003。这可能是造成这种情况的原因吗?否则我应该引用哪个特定的 dll?
答:
您是否真的转到了您的引用并将 .NET 引用添加到“Microsoft.Office.Core”库?如果您下载了示例应用程序,答案将是肯定的。如果是这种情况,请遵循文章中的建议:
如果您的系统没有 Microsoft Office Outlook 2003,您可能需要更改“OutlookConnector”项目使用的引用。也就是说,如果您收到描述为“找不到命名空间名称'Outlook'的类型”的生成错误,则您可能没有 Office 2003。只需展开项目引用,删除受影响的项,然后添加适合您系统的 COM 库。如果有人有一种动态的方式来处理这个问题,我很好奇你已经做到了。
这应该可以解决您的问题。如果没有,请告诉我们。
您需要下载并安装您正在使用的 Office 版本的 PIA(主互操作程序集)。安装后,您可以添加对项目的引用,这些引用将在添加引用对话框中可用。以下是下载它们的链接...
评论
您可以通过添加 的引用来添加 from COM 组件选项卡的引用。屏幕截图将显示您需要的组件。Microsoft.Office.Core
Microsoft Office 12.0 Object Library
评论
安装 Office PIA(主互操作程序集)后,添加对项目的引用 - > .NET 选项卡上的项目 - 组件名称“Office”
评论
如果您使用的是Visual Studio 2012,要使其正常工作并引用Microsoft Office Core,则必须通过单击顶部菜单的项目,添加引用,扩展按钮并检查现在的Office(14.0)通过Visual Studio进行引用。
如果有人在 .NET 中没有引用。COM(选项卡)或未在安装了视觉的计算机上安装 office 可以执行以下操作:
- 下载并安装:Microsoft Office 开发人员工具
添加以下引用:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Office15
我有同样的麻烦。我去了添加引用,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()));
现在有一个 nuget 包。
https://www.nuget.org/packages/NetOffice.Core.Net40/
首先我在 COM 中没有找到办公室,所以尝试了这个 nuget,它起作用了!
评论
上面的答案都没有帮助我,我正在使用 Visual Studio 2017。我所做的是,使用 Visual Studio 安装程序安装 Office/SharePoint 开发。
之后,我能够看到“office”,这个程序集包含 Microsoft.Office.Core。
希望这对你有所帮助。
评论
如果找不到 Office 2013 的 PIA,请按照下列步骤操作:
- 单击 Visual Studio 中的“解决方案资源管理器”
- 右键单击项目名称(而不是解决方案名称)
- 选择“管理 Nuget 包”
- 单击“浏览”并搜索“PIA 2013”,选择显示的 PIA,然后单击“安装”.....
你就完成了。
当我尝试将旧的 c# 项目打开到 Visual Studio 2017 版本时,我遇到了同样的问题。当您尝试打开使用以前版本的 VS 创建的项目并使用最新版本打开它时,通常会出现此问题。我所做的是,我打开我的项目并从我的项目中删除引用,然后添加了 Microsoft Outlook 12.0 对象库和 Microsoft Office 12.0 对象库 Microsoft Outlook 12.0 对象库
可以使用此 NuGet 包,该包除了 Office 程序集外,还包括互操作程序集。
https://www.nuget.org/packages/Bundle.Microsoft.Office.Interop/
评论
就我而言,当我从 Reference->COM 添加“Microsoft Excel 对象库”和“Microsoft Office 对象库”时,引用错误消失了。
我遇到了同样的问题,但COM组件在另一台计算机上工作正常。突然,在另一台计算机上找不到它。我引用了工作计算机上 COM 组件的路径,如图所示:
路径:C:\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX86\Microsoft Shared\Office16\MSO.DLL
添加后,一切按预期进行。
评论