簡體   English   中英

使用未安裝Outlook客戶端的Microsoft.Office.Interop.Outlook

[英]Using Microsoft.Office.Interop.Outlook without Outlook Client installed

我正在嘗試枚舉Outlook全局地址列表,並且我沒有在開發服務器上安裝Outlook客戶端 我收到了以下錯誤

An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll

Additional information: Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

在以下行

Application app = new Microsoft.Office.Interop.Outlook.Application();

我認為這是因為沒有安裝Outlook客戶端 沒有它可以使用Microsoft.Office.Interop.Outlook嗎?

安東,

我認為這是因為沒有安裝Outlook客戶端。 沒有它可以使用Microsoft.Office.Interop.Outlook嗎?

Interop文件用於在托管/非托管邊界之間編組調用。 在你的情況下沒有無人管理的一面(在哪里整理電話)。

如前所述,您可以使用EWS。 有關詳細信息請參閱Exchange中的EWS托管API,EWS和Web服務

我沒有在開發服務器上安裝Outlook客戶端。

此外, Microsoft目前不建議也不支持任何無人參與的非交互式客戶端應用程序或組件(包括ASP,ASP.NET,DCOM和NT服務)的Microsoft Office應用程序自動化,因為Office可能會出現不穩定的行為在此環境中運行Office時出現和/或死鎖

如果要構建在服務器端上下文中運行的解決方案,則應嘗試使用已為安全無人值守執行的組件。 或者,您應該嘗試找到允許至少部分代碼在客戶端運行的替代方法。 如果從服務器端解決方案使用Office應用程序,則應用程序將缺少許多成功運行的必要功能。 此外,您將承擔整體解決方案穩定性的風險。

您可以在服務器端自動化Office文章的注意事項中閱讀有關該內容的更多信息。

如果沒有將相關應用程序安裝在需要使用它的地方,則無法使用Interop程序集。 Interop組件主要用作高級應用程序自動化系統。

如果您使用的是Exchange Server 2007或更高版本,則可以考慮使用本文中介紹的使用Exchange Web服務(EWS)訪問全局地址列表的技術: 通過Exchange Web服務(EWS)查詢全局地址列表(GAL) )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM