是否可以使用可以部署到excel 2007和2010的VSTO开发excel加载项?
任何关于此主题的详细资源的链接也将受到赞赏 - 我似乎无法在谷歌上找到专门解决此问题的任何内容。
我正在使用Visual Studio 2010开发一个C#excel加载项。
答案 0 :(得分:8)
我已经answered this用于Word,但它也适用于Excel:
如果要部署到Office 2010 AND 2007,则必须添加对 v12.0 程序集的引用( Microsoft.Office.Interop.Excel 和办公室)。
现在仍然存在您的插件需要2007 PIA的问题,但如果您只在目标计算机上安装Office 2010,则无法安装(因为他们将Office 2007作为先决条件)。
要解决此问题,您必须为这两个dll(在参考属性中)设置嵌入Interop Assemblies = true ,并使用dynamic
作为您不能再直接引用的类型。
这会导致Intellisense的一些“怪异”没有找到方法等,但它不应该是一个大问题 - 至少现在PIA不再需要了,你的插件将在2007年和2010年部署(你必须也照顾安装程序,但这是另一个故事。)
这有点乱,但如果你正在使用VSTO,我想你习惯了这种东西: - )