【问题标题】:Can't get Microsoft.Office.Interop reference to work无法让 Microsoft.Office.Interop 参考工作
【发布时间】:2013-07-23 22:35:53
【问题描述】:

我有一个 C# winforms 应用程序,我只是想打开一个 Excel 工作表。当我尝试添加对 Microsoft.Office.Interop 的引用时,“Office”部分为红色并显示“无法解析符号 'Office'”。

当我尝试构建时,错误是:

The type or namespace name 'Office' does not exist in the namespace 'Microsoft' 
    (are you missing an assembly reference?)

我已经安装了 Office 2012,并且我认为我已经安装了主互操作程序集......但我并不肯定。

我知道这应该很容易,但我一直在寻找这个问题的答案将近一个小时,但无法弄清楚。提前致谢!

【问题讨论】:

  • 可能是安装的Office版本。我在安装了 Office 2010 的 VS2010 中遇到了同样的问题,它只适用于 Office 2007。

标签: c# winforms office-interop


【解决方案1】:

在 VS2015 中使用 NuGet 包管理器

  • 在 Visual Studio 项目中右键单击引用
  • 选择管理 NuGet 包
  • 在搜索框中输入microsoft.office
  • 选择 Microsoft.Office.Interop.Excel
  • 点击安装
  • 重建您的解决方案

【讨论】:

    【解决方案2】:

    您需要将库程序集引用添加到您的项目中。 它们被称为“主要互操作程序集”。

    (假设 Visual Studio 2010)

    程序

    • 打开解决方案资源管理器窗口
    • 展开您的项目文件夹手风琴。
    • 右键单击引用元素
    • 从下拉列表中选择“添加参考”
    • 选择 .NET 选项卡并查找名为 Microsoft.Office.Interop.Excel 的对象库。
    • 点击确定

    对象库现在应该出现在您的引用中。

    【讨论】:

      【解决方案3】:

      在 VS 2015 中添加此包的更简单方法:

      在使用包的行代码上按“Alt+Enter”,然后选择“在 nuget.org 上查找此命名空间”

      安装并享受 :)

      【讨论】:

      • 这不是 Resharper 功能吗?操作可能没有安装这个;)
      【解决方案4】:

      今天早上我遇到了同样的错误,Winforms 应用程序过去总是完美构建。改变的只是我们公司将笔记本电脑从 Excel 2007 升级到 Excel 2013。

      经过一番调查,我意识到该应用程序是一个 .Net 3.5 应用程序,尽管解决方案资源管理器表明所有引用都很好..

      ...实际上,他们不是。告诫标志是,当我尝试在应用程序中重新添加引用时,找不到它们...

      我需要做的是:

      • 将应用从 .Net 3.5 更新到 .Net 4.5
      • 删除 Office 相关的引用(我的第一个中显示的前 5 个) 上面的截图)
      • 重新添加引用(现在显示为版本 14 或 15)

      我还必须更改一行代码:

      excel = new Excel.ApplicationClass();
      

      excel = new Excel.Application();
      

      完成此操作后,应用程序构建无误,并再次成功运行。

      【讨论】:

        【解决方案5】:

        我认为您缺少 dll 引用。将 Microsoft.Office.Interop.Excel.dll 添加到项目引用中,然后尝试。

        【讨论】:

        • 这个参考有完全相同的问题。无法解析符号“办公室”
        • @BenStrombeck,请参阅上面 Matthew 的回答,为您的项目添加 dll 引用。
        【解决方案6】:

        您需要安装 Office 2013 才能清除此构建错误。

        【讨论】:

        • 此错误适用于构建在新位置(例如:服务器)其他地方编写的代码时,谢谢这是解决我在该主题上的问题的唯一方法。
        猜你喜欢
        • 2022-01-20
        • 1970-01-01
        • 1970-01-01
        • 2019-09-02
        • 2014-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多