2010-12-13 77 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