我想以编程方式在C#中创建一个.vcf文件,并在该文件中以正确格式编写一串字符串。但是当我尝试手动打开它时,出现以下消息。
无法启动Microsoft Outlook。文件可能不存在,您可能没有权限打开它,或者它可能在另一个程序中打开。
但是,当我创建一个文本文件手动编写同捆串的vCard格式和扩展名更改为.VCF,然后打开该文件,它在Outlook中正常打开.vcf文件不能打开
任何帮助!
我想以编程方式在C#中创建一个.vcf文件,并在该文件中以正确格式编写一串字符串。但是当我尝试手动打开它时,出现以下消息。
无法启动Microsoft Outlook。文件可能不存在,您可能没有权限打开它,或者它可能在另一个程序中打开。
但是,当我创建一个文本文件手动编写同捆串的vCard格式和扩展名更改为.VCF,然后打开该文件,它在Outlook中正常打开.vcf文件不能打开
任何帮助!
你不这么明确地说,所以我不得不问:你有没有对Outlook提供的所有建议进行调整?该文件目前仍未打开,并且程序锁定了该文件?文件权限是否可以被outlook用户读取?该文件确实存在?
验证您是否在代码中使用了CrLf作为行终止符。如果您使用Environment.NewLine或\ n's,那可能是问题所在。
您可能已将文件保存为UTF-8或Unicode。为了测试,在VS中以二进制打开文件,删除前三个字节并查看文件是否打开。
从vCard字符串构造一个.vcf文件时有一个非常类似的问题。在Outlook中打开时,联系表单将完全空白。我通过将字符串转换为UTF8编码字节数组解决了这个问题。
byte[] vCard = System.Text.UTF8Encoding.UTF8.GetBytes(vCardString);
此回复可能有助于某人。我得到了类似的错误,对我来说问题是vcf文件中没有数据。只要我在标题后打印VCARD信息(然后打开生成的vcf文件),错误消失。
+1最有可能你的程序没有关闭文件。 – ChrisBD 2010-03-30 13:25:55