C#Interop Outlook异常到OlExchangeStoreType.olExchangeMailbox

时间:2018-04-24 06:38:05

标签: c# exception outlook interop

我尝试访问某些共享邮箱("打开这些其他邮箱"列出)但我遇到了一种拒绝访问的" #34 ;. 说清楚我的意思......我写了这段代码:

IList<Store> lsStores = Application.Session.Stores.Cast<Store>().Where(c => c.ExchangeStoreType == OlExchangeStoreType.olExchangeMailbox).ToList();

但是我有这个错误(在Log文件夹中):

  

System.Runtime.InteropServices.COMException(0xAD54011D):异常   来自HRESULT:0xAD54011D          在System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32)   errorCode,IntPtr errorInfo)          在System.Runtime.InteropServices.CustomMarshalers.EnumeratorViewOfEnumVariant.MoveNext()          在System.Linq.Enumerable.d__95 1.MoveNext() at System.Linq.Enumerable.WhereEnumerableIterator 1.MoveNext()          在System.Collections.Generic.List 1..ctor(IEnumerable 1个集合)          在System.Linq.Enumerable.ToList [TSource](IEnumerable`1 source)          at Detatchatore.Detachatore.btnAvvia_Click(Object sender,EventArgs e)位于C:\ Users \ Me \ Project \ Form1.cs:第52行

在我的个人电脑中,这个错误并没有显示出来,我的同事也没有这个问题。但是当我将应用程序安装到操作员pc(应用程序必须在他的电脑上工作)时,我有这个例外。 谢谢,对不起我的英语不好。

1 个答案:

答案 0 :(得分:0)

首先,我建议避免使用Outlook对象进行任何LINQ查询。此外,我建议及时释放它们,即尽快释放它们。您可能会发现以下链接很有用:

其次,您需要打破属性或方法调用链,并在单独的代码行上声明每个属性或方法。因此,如果代码失败,您将能够找到有问题的那个。