2010-12-13 45 views
2

我最近发布了一个内置在visual studio 2010中的客户端应用程序,它似乎已经使用了较新的库,然后是以前的版本并导致错误。我将问题简化为导入:Imports Microsoft.Office.Interop。有没有办法使用此导入并支持多个版本?Microsoft.Office.Interop程序集问题

以下是错误:

Unable to install or run the application. The application requeres that assembly Microsoft.Office.Interop.Outlook Version 11.0.0.0 be installed in the Global Assembly Cache (GAC) first.

作为一种可能的但未经检验的解决方案我已经找到了可再发行主互操作程序集:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&displaylang=en,但我很紧张,更新这可能会导致旧的Windows应用程序错误。你会说捆绑这个安装程序是安全的吗?

回答

4

是的,Office 2003 PIA将解决您的问题。显然它没有安装,所以没有什么理由担心你会破坏任何东西。

另一种方法是不使用PIA,实际上需要一个PIA是非常罕见的。在解决方案资源管理器窗口中打开参考节点,选择Outlook参考。在属性窗口中将Copy Local设置为True。建立。您将在构建目录中获得互操作库(office.dll和microsoft.office.interop.outlook.dll)。将它们与您自己的组件一起部署。

0

您提供的链接适用于Office 2007 PIA,它指的是版本12.0,而不是您的应用程序所需的版本。

您应该改用:

Office 2003 Update: Redistributable Primary Interop Assemblies

至于你的具体问题,我已经捆绑这个软件包与应用,更具体的Office插件,从来没有与其他应用程序的兼容性问题。

+0

因此,我需要捆绑依赖于Office版本的不同程序集? – tylercomp 2010-12-13 19:15:24

+0

如果我记得正确地建立对11.0还将允许您在Office 2007中运行该应用程序。 – 2010-12-13 19:39:42