Outlook .vcf文件未打开

Outlook .vcf文件未打开,outlook,Outlook,我试图用C#以编程方式创建一个.vcf文件,并在该文件中以正确的格式编写一组字符串。但是,当我尝试手动打开它时,会出现以下消息。无法启动Microsoft Outlook。该文件可能不存在,您可能没有打开它的权限,或者它可能已在其他程序中打开。 但是,当我手动创建一个文本文件时,用vcard格式写入相同的字符串串,并将扩展名更改为.vcf,然后打开该文件,它将使用outlook正常打开 任何帮助 你没有这么明确地说,所以我不得不问:你是否删除了Outlook给你的所有建议?文件当前未被程序锁定

我试图用C#以编程方式创建一个.vcf文件,并在该文件中以正确的格式编写一组字符串。但是,当我尝试手动打开它时,会出现以下消息。
无法启动Microsoft Outlook。该文件可能不存在,您可能没有打开它的权限,或者它可能已在其他程序中打开。

但是,当我手动创建一个文本文件时,用vcard格式写入相同的字符串串,并将扩展名更改为.vcf,然后打开该文件,它将使用outlook正常打开


任何帮助

你没有这么明确地说,所以我不得不问:你是否删除了Outlook给你的所有建议?文件当前未被程序锁定打开?文件权限是否允许outlook用户读取?文件确实存在吗

验证您在代码中将CrLf用于行终结符。如果使用Environment.NewLine或just\n,这可能就是问题所在。

您可能将文件保存为UTF-8或Unicode。要进行测试,请用VS二进制文件打开该文件,删除前三个字节,然后查看该文件是否打开。

从vCard字符串构造.vcf文件时遇到了非常类似的问题。在Outlook中打开时,联系人表单将完全为空。我通过将字符串转换为UTF8编码的字节数组解决了这个问题

byte[] vCard = System.Text.UTF8Encoding.UTF8.GetBytes(vCardString);

这个回答可能对某人有所帮助。我遇到了一个类似的错误,问题是vcf文件中没有数据。当我在标题后打印VCARD信息时(然后打开生成的vcf文件),错误就消失了