Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Office加载项的前向兼容性_.net_Visual Studio 2010_C# 4.0_Excel Addins_Excel 2013 - Fatal编程技术网

.net Office加载项的前向兼容性

.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

我使用VS2010为office 2010构建了一个外接程序。我已经创建了msi,但当我尝试使用office 2013安装它时,我收到一个错误,告诉我:

“与excel交互所需的组件不可用…”

我是否需要链接到office 2013程序集以部署office 2013


编辑:它说使用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对其进行了测试,两个设置都进行得很顺利,加载项正在工作