【问题标题】:Microsoft.Office.Interop.Excel Reference in Build Server [duplicate]构建服务器中的 Microsoft.Office.Interop.Excel 参考 [重复]
【发布时间】:2014-04-07 07:03:16
【问题描述】:

我在 Windows 服务应用程序中使用 Microsoft.Office.Interop.Excel 参考来创建 Excel 报告。应用程序在 DEV 机器中构建良好,但在构建机器中失败,提示“名称空间 'Microsoft' 中不存在类型或名称空间名称 'Office'(您是否缺少程序集引用?)”。

它可以在 DEV 机器上运行,因为已经安装了 MS Excel 2010。但是在构建服务器中,没有安装 MS Excel。

我的问题是,是否必须在构建服务器中安装 MS Excel 才能使构建成功,或者我可以将 Microsoft.Office.Interop.Excel.dll 复制到我的项目文件夹中,引用它并签入构建。目前,应用程序中添加的dll引用指向程序集(GAC)。

要知道的另一件事是,这些互操作 dll 不可重新分发,因为它们是 MS_Office 产品的一部分。

请在这方面建议我正确的方法。

【问题讨论】:

    标签: c# .net excel office-interop excel-interop


    【解决方案1】:

    您还需要在构建服务器上安装 MS Excel。如果没有 Excel 本身,Interop DLL 将无法运行。

    更多Office开发详情,可以参考MSDN的官方文档。

    【讨论】:

    • 感谢您的建议。我目前通过 Visual Studio 中的 COM 引用引用了 interop dll,默认情况下指向程序集路径。这是正确的,还是应该将 dll 复制到项目文件夹然后引用它?请提出建议。
    • 我相信从 Visual Studio 中引用并保留它是可以的。我通常不会将 DLL 复制到部署我的可执行文件的文件夹中。
    • 感谢您的回复。我将遵循在构建服务器中安装 MS Excel 的方法。
    • 很高兴为您提供帮助。如果有帮助,请记住将答案标记为已接受。此外,您可能需要注意使用 Excel 互操作的一些陷阱,例如此处描述的那些:arturomonriv.blogspot.sg/2011/11/net-interop-pitfalls.html
    【解决方案2】:

    http://social.msdn.microsoft.com/Forums/vstudio/en-US/c9e83756-4ae2-4ed4-b154-1537f3bb3a22/cant-find-microsoftofficeinteropexceldll?forum=netfxsetup中所述

    在“项目”菜单上,单击“添加引用”。

    在 COM 选项卡上,单击 Microsoft Excel 对象库,然后单击选择。在 Visual Studio 2012 中,在 COM 选项卡上找到 Microsoft Excel 14.0(或其他版本)对象库。

    在“添加引用”对话框中单击“确定”以接受您的选择。如果系统提示您为您选择的库生成包装器,请单击“是”。

    【讨论】:

      猜你喜欢
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      相关资源
      最近更新 更多