Возможно, вы работаете со старой версией элемента Outlook.
Это может произойти, если вы храните ссылки на свои почтовые отправления, шаблоны записей, инспекторов и некоторые другие типы [которые я сейчас забыл] дольше, чем они вам нужны.
Ваша ссылка часто будет указывать на старую версию элемента, и ее сохранение также может помешать вам получить ссылку на обновленную версию (ту, что содержит вложение), даже если события (Folder.BeforeItemMove)сработало.
Кроме того, пробовали ли вы, если mail.Save () что-нибудь для вас сделает?
Это то, что я использую, как только я закончу с элементом.
public static void NullAndRelease(object o)
{
if (o == null) {
return;
}
try {
int releaseResult = 0;
do {
releaseResult = System.Runtime.InteropServices.Marshal.ReleaseComObject(o);
} while (releaseResult >= 0);
} catch {
} finally {
GC.Collect();
GC.WaitForPendingFinalizers();
}
}
Улов не имеет сообщения и не важен в моем случае.Это есть, если кто-то передаст ссылку, которая приведет к чему-то другому, чем com-объект.Вы также можете попробовать FinalReleaseComObject (o).