2010-11-01 106 views
4

是否可以使用VSTO開發一個可以部署到Excel 2007和2010的Excel插件?excel VSTO插件可以兼容excel 2007和2010嗎?

任何指向該主題的詳細資源的鏈接也將不勝感激 - 我似乎無法找到谷歌專門解決這個問題的任何東西。

我開發一個C#Excel中添加使用Visual Studio 2010

回答

8

我已經answered this的Word,但它也適用於Excel:

如果要部署到Office 2010和2007年,您必須添加對v12.0程序集的引用(Microsoft.Office.Interop.ExcelOffice)。

現在仍然存在問題,即您的插件將需要2007 PIA,但如果您只在目標機器上安裝Office 2010(因爲它們具有Office 2007作爲先決條件),它們將不會安裝。 爲了解決這個問題,你必須設置Embed Interop Assemblies = true這兩個dll(在參考屬性中),並使用dynamic作爲你不能直接引用的類型。

這會導致Intellisense出現一些「怪異」而不是找到方法等,但它不應該是一個大問題 - 至少現在PIA不再需要了,並且您的插件將部署在2007和2010年(您將擁有也要照顧安裝人員,但這是一個完整的故事)。

這是一個有點亂,但如果您正在使用VSTO工作,我想你是用這種東西:-)

+0

感謝您的回覆,這將是在起步真的很有幫助。 – 2010-11-02 20:56:34

+0

嗨。我面臨同樣的問題。但我在屬性窗口中找不到「Embed Interop Assemblies」屬性。請建議。 – 2011-04-12 14:03:58

+3

@Mitesh Khatri我認爲他的意思是'Embed Interop Types'並且需要將它設置爲'true' – woodykiddy 2011-09-15 02:00:12

相關問題