我正在尝试将一堆vcf文件导入到我的Outlook中,其中已经有超过7k个联系人。但是正如标题已经说过的那样,Outlook会在导入1-2个vcf文件后冻结,并且不会恢复到正常状态,我必须先杀死它并重新启动它,然后才能再次正常工作。拥有干净的外观和较少的联系(100-200),此问题将不会出现,并且一切都很好,但是有了大量的联系,它将不再起作用。
Microsoft.Office.Interop.Outlook.Application OutlookApplication = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.ContactItem contact;
int count = 0;
string[] files = Directory.GetFiles(@"C:\vcf", "*.vcf");
foreach (string file in files)
{
Console.WriteLine(count++);
contact = OutlookApplication.Session.OpenSharedItem(file) as Microsoft.Office.Interop.Outlook.ContactItem;
contact.Save();
}
我不确定如何防止此问题的发生,因为代码已经很小,只是基本内容,请打开一个vcf并将其保存在Outlook中。
编辑:
我在contact.Save()之后添加了1秒的延迟后;它似乎工作得更好,但我不太确定为什么?