[英]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.