2010-03-30 81 views
1

我想以編程方式在C#中創建一個.vcf文件,並在該文件中以正確格式編寫一串字符串。但是當我嘗試手動打開它時,出現以下消息。
無法啓動Microsoft Outlook。文件可能不存在,您可能沒有權限打開它,或者它可能在另一個程序中打開。

但是,當我創建一個文本文件手動編寫同捆串的vCard格式和擴展名更改爲.VCF,然後打開該文件,它在Outlook中正常打開.vcf文件不能打開

任何幫助!

回答

1

你不這麼明確地說,所以我不得不問:你有沒有對Outlook提供的所有建議進行調整?該文件目前仍未打開,並且程序鎖定了該文件?文件權限是否可以被outlook用戶讀取?該文件確實存在?

+0

+1最有可能你的程序沒有關閉文件。 – ChrisBD 2010-03-30 13:25:55

0

驗證您是否在代碼中使用了CrLf作爲行終止符。如果您使用Environment.NewLine或\ n's,那可能是問題所在。

0

您可能已將文件保存爲UTF-8或Unicode。爲了測試,在VS中以二進制打開文件,刪除前三個字節並查看文件是否打開。

0

從vCard字符串構造一個.vcf文件時有一個非常類似的問題。在Outlook中打開時,聯繫表單將完全空白。我通過將字符串轉換爲UTF8編碼字節數組解決了這個問題。

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

此回覆可能有助於某人。我得到了類似的錯誤,對我來說問題是vcf文件中沒有數據。只要我在標題後打印VCARD信息(然後打開生成的vcf文件),錯誤消失。

My error