我们的应用添加了允许用户从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?还有其他方法吗?
答案 0 :(得分:12)
确保使用源代码签入Microsoft.Office.Interop.Excel
程序集,VS项目从源代码树引用它,而不是GAC
。
完成此操作后,您确实不需要在构建计算机上安装MS Office,但是您需要它才能运行该应用程序。
答案 1 :(得分:1)
请让您的开发人员检查所有dll依赖项。这是“它在我的机器上工作”的一个明显的例子,你需要将开发人员拖到它不工作的机器上,并指出他们的文档缺少“依赖部门”。如果您可以访问源代码或者可以在程序集上运行ILSpy,那么您可以在这些程序集中跟踪它。
安全的赌注是,你只需安装Excel,但这是用大锤敲击的问题。你的开发人员应该知道真正需要什么.....
答案 2 :(得分:-1)
是的,您必须在要运行应用程序的所有计算机上安装Excel。