2010-11-01 135 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

相关问题