C# PowerPoint版本编译

C# PowerPoint版本编译,c#,interop,compilation,powerpoint,sharpdevelop,C#,Interop,Compilation,Powerpoint,Sharpdevelop,假设我正在使用SharpDevelop/VS开发一个使用PowerPoint的应用程序 我是否需要重新编译应用程序,以便每个版本的MS Office都有一个版本 我有MS Office 2007,但我也希望该应用程序能够与Office 2003及更高版本一起使用,而无需为每个版本重新编译该应用程序 我是否只需要在客户端计算机上安装适当的Office Interop可再发行软件包/msi,然后按原样发布我的应用程序 提前感谢您的帮助。如果您使用的是Microsoft.Office.Interop库

假设我正在使用SharpDevelop/VS开发一个使用PowerPoint的应用程序

我是否需要重新编译应用程序,以便每个版本的MS Office都有一个版本

我有MS Office 2007,但我也希望该应用程序能够与Office 2003及更高版本一起使用,而无需为每个版本重新编译该应用程序

我是否只需要在客户端计算机上安装适当的Office Interop可再发行软件包/msi,然后按原样发布我的应用程序


提前感谢您的帮助。

如果您使用的是Microsoft.Office.Interop库,您只需要2007版本,它将与旧文档向后兼容。

我发现您应该使用现有的最旧MS Office进行构建。我们仍然使用MS Office 2000

这背后的思想是:

  • 任何更新版本的MS Office都能做到MS Office 2000所能做到的一切。
  • MS Office 2007所能做的很多事情在早期版本中是不可能做到的 微软办公软件。

    • 我完全同意尼弗尔的观点。使用你能找到的最旧的。如果您使用2007,它很有可能不适用于旧版本

      因为我不想在我的开发PC上安装最旧的Office版本,所以我使用虚拟PC创建了一个“最终构建”环境。我使用普通PC进行开发,然后将源文件移到安装了Office 2003和VS的虚拟PC上,并在那里创建最终的客户构建


      您需要编辑CSPROJ文件,以使用此方法引用旧的Office库。您只需在build virtual PC上打开VS,删除对Office的引用并再次添加它们即可完成此操作。

      只需向尝试此操作的任何人确认即可。我有一个.NET 4项目,它引用了15.0 PowerPoint互操作库和Office 15.0库(Office 2013)。我将项目设置为“嵌入互操作类型”

      我在Office2007Ultimate上安装了一个虚拟机,并运行了该应用程序(没有复制任何其他DLL)。它正确地与PowerPoint交互,以提取我的应用程序正在查找的数据

      根据我的经验,互操作库是向后兼容的