2016-02-16 20 views
1

我有一个与VS 2008和3.5框架开发的前景插件。现在,我想升级到最新的框架(4.6.1)。但是当我试图在VS 2012中创建一个针对4.6.1框架的办公室项目。因此,是不是可以开发一个针对4.6.1框架的VSTO 2007插件?我想坚持使用VSTO 2007,因为它可以保证在所有Office版本上运行,直到2016年,我目前的插件是以.net 3.5为目标的。如果我开发一个office 2010插件,它可能会在office 2007上崩溃。所以,请让我知道一种开发办公软件的方法,它受所有办公版本和目标的支持。网络框架4.6.1。我可以创建一个VSTO outlook插件,该插件的目标是.net framework 4.6.1,它可以在2007至2016年的所有Office版本上运行?

回答

0

您希望开发针对.NET Framework 4.6.1的插件,但仍以Office 2007为目标,因为Office被认为始终“向下兼容”。虽然理论上是这样,但实际上您会遇到问题(例如,Excel随着时间的推移将其应用程序模型从MDI更改为SDI,导致加载中针对旧版本的各种可见性问题)。

.NET框架也是如此。针对较低框架的应用程序应该适用于以后的框架。反过来可能会导致真正的问题。

因此,我认为最好的答案是使用Office PIA和.NET框架中的最低分母来支持较早的Office版本。从理论上讲,这意味着您应该保持Office 2007 PIA和.NET 3.5的最佳兼容性,以适应2007年及以后的所有Office版本。然而,在这种情况下,仍然存在不匹配的风险,正如我在第一段中所解释的那样。

但是,如果您只处理最旧Office版本中的可用接口,则通常可以混合并匹配多个版本,在特殊情况下使用迟绑定。

微软的'官方'答案一直与VSTO项目相关,每个VSTO版本只支持两个Office版本,并且(同样)与之前提到的有所不同。关于此的更多信息可以在这里找到:https://msdn.microsoft.com/en-us/library/bb772080(v=vs.120).aspx

相关问题