2016-02-16 41 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

相關問題