在foreach循环中将itemA对象转换为Notesitem时,有人可以帮助我,因为我遇到异常。
无法转换类型为' System .__ ComObject'的COM对象。接口类型' Domino.NotesItem'。此操作失败,因为QueryInterface调用COM组件上的接口与IID' {2913158A-2EED-1069-BF5D-00DD011186B7}'由于以下错误而失败:不支持此类接口(来自HRESULT的异常:0x80004002(E_NOINTERFACE))。在WindowsApplication2.Form1.btnSearch_Click(Object sender,EventArgs e)中的C:\ WindowsApplication2 \ WindowsApplication2 \ Form1.cs:第319行}
我正在使用 Interop.Domino.dll 代码:
NotesSession session = new NotesSession();
session.Initialize("XXXXXX");
try
{
NotesDatabase NotesDb = session.GetDatabase("", "C:\LotusFiles\\XYZ.nsf", false);
if (NotesDb == null)
{
//System.Console.WriteLine("Can not connect to server.");
}
else
{
//System.Console.WriteLine("Connected");
}
Domino.NotesDocumentCollection col = NotesDb.AllDocuments;
for (int i = 0; i < col.Count; ++i)
{
Domino.NotesDocument doc = col.GetNthDocument(i);
if (doc.HasEmbedded)
{
object[] itemsA = (object[])doc.Items;
foreach (NotesItem item in itemsA)
{
if (item.Name.Equals("$FILE"))
{
object[] values = (object[])item.Values;
//doc.GetAttachment(values[0].ToString()).ExtractFile(fileSavePath + values[0].ToString());
}
}
}
}
答案 0 :(得分:1)
得到它解决phewwwwwwww ... Interop.Domino.dll在我的情况下是腐败的,所有面临这个问题的人请不要从互联网上下载Interop.Domino.dll而不是去Refrence - &gt ;添加参考 - &gt; COM - &gt;找到Lotus Domino对象和宾果!