在winform应用程序中缺少程序集

时间:2016-02-17 08:54:48

标签: c# .net winforms office-interop

我正在使用visual studio 2013并想要创建彩色excel文件。我正在使用此命名空间: using Microsoft.Office.Tools.Excel.Extensions;

并收到此错误:

  

类型或命名空间名称'工具'在命名空间中不存在   ' Microsoft.Office' (你错过了一个程序集引用吗?)

有谁知道如何解决它?

3 个答案:

答案 0 :(得分:1)

您还需要添加对Microsoft Office 12.0对象库的引用,以获得对办公室互操作的基本支持。

AddReference-> .NET-> 的Microsoft.Office.Interop.Excel。

答案 1 :(得分:0)

您是否在引用中添加了microsoft.office.tools.excel.dll

检查this answer以找到它。

  

通常,一旦安装,该程序集应该在GAC中   Office Primary Interop Assemblies assemblies。在我的电脑上   程序集位于:

c:\Program Files\Reference Assemblies\Microsoft\VSTO40\v4.0.Framework\
     

这里有关于安装的corresponding article on MSDN   那些集会。

答案 2 :(得分:0)

您只能在VSTO项目中使用Microsoft.Office.Tools命名空间。否则你不能使用它们。如果您尚未创建VSTO文档级自定义或加载项,则不应尝试使用此命名空间。或者VSTO文档。

对于直接"互操作"您需要Microsoft.Office.Interop命名空间,例如Microsoft.Office.Interop.Excel和Microsoft.Office.Interop.Core。

为了使用这些,您需要参考PIA,这使得.NET可以与本机Office .tlb(COM库)进行通信。 Office在GAC中安装PIA,您始终可以通过“添加引用”对话框中的“COM”选项卡访问它们。

Visual Studio的某些版本/版本还在Visual Studio文件夹中安装了一组PIA。这些将显示在“添加引用”的“NET”选项卡中。但是你需要小心,因为VS只会为VS发布时最新版本的Office安装PIA。这可能不是您的Developer计算机上安装的Office版本。

出于这个原因,我几乎总是遇到从COM选项卡添加Reference的问题,而不是添加引用的NET选项卡。