【问题标题】:Is it necessary for the build machine to have Microsoft Office 2007 installed?构建机器是否需要安装Microsoft Office 2007?
【发布时间】:2012-02-16 19:08:34
【问题描述】:

我们的应用添加了允许用户从 Excel 电子表格导入某些信息的功能(所有用户都将拥有 Office 2007)。

开发机器装有 Office 2007,开发人员添加了对 Microsoft.Office.Interop.Excel 的引用 - 一切都很好。

但是,构建计算机没有安装 Office 2007。在构建机器上运行构建时,我们收到以下构建错误:“名称空间 'Microsoft' 中不存在类型或名称空间名称 'Office'(您是否缺少程序集引用?)”

我确实下载了Office 2007 Primary Interop Assemblies redistributable。但是当我在构建机器上运行那个 msi 时,我收到一个消息框,上面写着“请在安装此产品之前安装 Microsoft Office 2007”

真的有必要在构建机器上安装Office 2007吗?有没有其他方法可以解决这个问题?

【问题讨论】:

  • 您确定 Microsoft.Office.Interop.Excel 已使用源代码签入,并且 VS 项目是从源代码树而不是 GAC 引用它吗?
  • @DavidePiras - 这就是答案!一旦我将引用从 GAC 更改为源代码树,构建工作。通过不使用 .net 选项卡从项目中引用文件,而是从磁盘中浏览并选择它们。如果您将您的建议添加为答案,我将接受它。谢谢!

标签: visual-studio-2010 msbuild ms-office office-interop


【解决方案1】:

确保 Microsoft.Office.Interop.Excel 程序集已与源代码一起签入,并且 VS 项目从源代码树而不是 GAC 引用它。

完成后,您肯定不需要在构建机器上安装 MS Office,但您需要它来运行应用程序。

【讨论】:

    【解决方案2】:

    只需让您的开发人员检查所有 dll 依赖项。这是“它在我的机器上工作”的一个明显案例,您需要将开发人员拖到它不工作的机器上,并指出“依赖项部门”中缺少他们的文档。如果您可以访问源代码或可以在程序集上运行 ILSpy,您可以自行跟踪它。

    安全的赌注是你只安装 Excel,但这是用大锤解决问题。您的开发人员应该知道真正需要什么.....

    【讨论】:

      【解决方案3】:

      是的,您必须在要运行您的应用程序的所有计算机上安装 Excel。

      【讨论】:

      • 但我不想在构建机器上运行我的应用程序 - 我只想构建它?
      • 不,您不必安装 Excel - 请参阅上面的 DavidePiras 回答
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多