.net Office加载项的前向兼容性
我使用VS2010为office 2010构建了一个外接程序。我已经创建了msi,但当我尝试使用office 2013安装它时,我收到一个错误,告诉我: “与excel交互所需的组件不可用…” 我是否需要链接到office 2013程序集以部署office 2013.net Office加载项的前向兼容性,.net,visual-studio-2010,c#-4.0,excel-addins,excel-2013,.net,Visual Studio 2010,C# 4.0,Excel Addins,Excel 2013,我使用VS2010为office 2010构建了一个外接程序。我已经创建了msi,但当我尝试使用office 2013安装它时,我收到一个错误,告诉我: “与excel交互所需的组件不可用…” 我是否需要链接到office 2013程序集以部署office 2013 编辑:它说使用VSTO V4应该使其兼容,但仍然不起作用。您自己创建了一个Windows Installer启动程序条件,该条件会根据所述教程产生所述错误。您应该删除按组件ID检查特定PIA组件的条件 与其检查并产生错误,不如将V
编辑:它说使用VSTO V4应该使其兼容,但仍然不起作用。您自己创建了一个Windows Installer启动程序条件,该条件会根据所述教程产生所述错误。您应该删除按组件ID检查特定PIA组件的条件 与其检查并产生错误,不如将VSTO和PIA作为先决条件添加,还可以将其包括在设置中: 您必须将其安装到您的开发机器上。 这使您能够在安装项目中添加PIA 2010作为先决条件,这正是您所需要的 此外,如果您需要在安装中包含PIA 2010,则必须复制 (所有提取的文件)到
C:\Program Files\Microsoft SDK\Windows\v7.0A\Bootstrapper\Packages\Office2010PIARedist
然后,您的设置将如下所示:
不需要,您不需要链接2013年PIA以使您的解决方案在Office 2013中工作,VSTO和PIA 2010应该与Excel 2013一起工作-但是Excel 2013应用程序的额外功能在这里自然缺失。但如果您想使用,则需要升级到VS 2012或2013
这样您就可以继续在Office 2013中使用VSTO 2010。
编译针对.NET Framework 4的外接程序项目时,
默认情况下,中引用的所有PIA类型的类型信息
外接程序代码嵌入到外接程序程序集中。在运行时,此
类型信息用于解析对基础COM类型的调用,
而不是依赖PIA中的类型信息
所以,毕竟这意味着,如果你以.NET4为目标,你根本不必担心目标计算机上的PIA。因此,您也不需要将Microsoft Office 2010 PIA添加为先决条件。仍然需要VSTO运行时的先决条件
只需检查您引用的Microsoft.Office.Interop.Excel
版本是否正确,以及EmbedInteropTypes
是否设置为true
:
这是删除那些搜索Office 2010共享PIA的条件的一个很好的理由
备注:当我进入时,问题的Windows Installer启动程序条件似乎起作用,即{FAB10E66-B22C-4274-8647-7CA1BA5EF30F}。这是Office 2007组件ID。我已经用Office 2007和Office 2013对其进行了测试,两个设置都进行得很顺利,加载项正在工作