我已经从COM选项卡中引用了Microsoft Outlook 12.0 ObjectLibrary。
在VS中,这些项显示在引用中:
Microsoft.Office.Core
Microsoft.Office.Inerop.Outlook
现在我尝试调用以下代码:
var _outlookInstance = new Microsoft.Office.Interop.Outlook.Application();
var _message = (OutlookApp.MailItem)_outlookInstance.CreateItem(OutlookApp.OlItemType.olMailItem);
其中OutlookApp==Microsoft.Office.Interop.Outlook命名空间。
在调用清单的第二行时,我一直收到这个异常:(InvalidCastException)
无法将类型为“Microsoft.Office.Interop.Outlook.ApplicationClass”的COM对象转换为类型“Microsoft.Office.Interop.Outlook._Application”的接口类型。这是因为对IID为“{00063001-0000-0000-C000-000000000046}”的接口的COM组件上的QueryInterface调用失败,原因是库未注册。(来自HRESULT的异常:0x8002801D(TYPE_E_LIBNOTREGISTERED))。
在我的其他电脑上,该代码适用于Outlook 2003。
如果有任何解决方法,请告诉我,谢谢。