我有一个用VS2008和3.5 framework.Now开发的outlook插件,我想将它升级到最新的框架( 4.6.1 ).But当我试图在VS 2012中创建一个目标为4.6.1 framework.It的office项目时,只显示了office 2010 template.So,难道不能开发一个目标为4.6.1框架的VSTO2007插件吗?我想继续使用VSTO2007,因为它保证可以在office 2016之前的所有office版本上运行,因为我目前的插件目标是office 3.5 does.Whereas,如果我开发office 2010插件,所以,请告诉我一个开发office插件的方法,它是所有office版本都支持的,目标是.net框架4.6.1。
发布于 2016-02-18 23:19:40
你想根据OfficeFramework4.6.1开发你的插件,但仍然以Office2007为目标,因为.NET总是被认为是“向下兼容的”。虽然理论上是这样,但在实际操作中您会遇到问题(例如,随着时间的推移,Excel将其应用程序模型从MDI更改为SDI,从而导致针对旧版本的外接程序存在各种可见性问题)。
.NET框架也是如此。以较低框架为目标的应用程序应该与较新的框架一起工作。反之亦然,这可能会引发真正的问题。
因此,在我看来,最好的答案是使用Office PIA和.NET框架中的最低分母来支持较旧的Office版本。从理论上讲,这意味着你应该继续使用Office2007PIA和Office3.5,以便从2007年起对所有.NET版本保持最好的兼容性。然而,在这种情况下,仍然存在不匹配的风险,正如我在第一段中解释的那样。
但是,通常情况下,您可以混合和匹配许多版本,如果您只处理最旧Office版本中提供的接口,则在特殊情况下使用后期绑定。
微软的“官方”回答一直是,与VSTO项目相关的是,每个VSTO版本只支持两个Office版本,这(再次)与前面提到的有关。有关这方面的更多信息可在此处找到:https://msdn.microsoft.com/en-us/library/bb772080(v=vs.120).aspx
https://stackoverflow.com/questions/35425963
复制相似问题