支持Office Automation的不同Office版本

Chr*_*ris 14 .net c# office-interop

我们创建了一个使用Office 2007(Excel 2007)从Excel工作表读取数据的应用程序.然而.我注意到,当我想在安装了Office 2003的系统上部署应用程序时,它会崩溃,因为此版本的办公室需要引用其他PIA(和其他dll).

我是否需要编译不同版本的应用程序才能支持不同版本的Office或者是否有更优雅的解决方案来解决此问题?

我使用Visual Studio 2010(C#)和.Net 4.0平台.

Jon*_*eet 21

当您使用.NET 4时,您可以使用"嵌入式"PIA(又名"No PIA").更改Office引用上的选项,以便"嵌入互操作类型"为True.

只要您只使用部署的计算机上支持的Office功能,您应该没问题.

它还意味着: - 您不必担心PIA本身不存在于目标机器上 - VARIANT现在dynamic在您的代码中使用原始COM接口中的任何类型的方法或属性来表示,这可以使你的生活更简单