.NET 项目中多个版本的 Office 主互操作程序集

Dom*_*alo 1 .net c# wpf office-pia

我正在使用 Office 主互操作程序集从我的 WPF 应用程序控制 PowerPoint。目前我在我的项目中使用 PIA v14,它可以与 Office 2010 和 Office 2013 一起使用,没有任何问题。但我还需要添加对 Office 2007 的支持(当我在装有 Office 2007 的计算机上测试我的应用程序时,它不起作用)。

所以,我的问题是:我是否应该将项目中引用的 PIA 更改为 v12(以支持 Office 2007/2010/2013),或者可以将 v12 和 v14(也可能是 v15)PIA 添加到项目中并动态加载正确的应用程序启动期间程序集的版本基于目标计算机上安装的 Office 版本?另外,如果我在所有 Office 版本 (2007/2010/2013) 上使用 PIA v12,是否存在一些兼容性风险?

Kur*_*ran 5

对此有一个简单的解决方案,即使用 Office Interop 包装程序集之一。这些包装器组件使用后期绑定来支持特定版本 Office 的功能。我使用过NetOffice,我推荐您使用它。

NetOffice提供的功能

  • Office 集成无版本限制
  • 包含 Office 版本 2000、2002、2003、2007、2010、2013 的所有功能
  • 语法和语义上与 Microsoft Interop Assemblies 相同
  • 如果您已经了解 Office 对象模型,则无需培训,请使用现有的 PIA 代码
  • 可与 .NET 2.0 或更高版本一起使用
  • 没有依赖项,没有互操作程序集,不需要 VSTO