Những gì tôi đang cố gắng làm là thêm nút "Email Đến ..." vào một khách hàng winform mở một cửa sổ thư Outlook mới và đính kèm tệp để người dùng có thể chuyển tiếp nó. Tôi có thể tích hợp triển vọng hoạt động tốt nếu triển vọng chưa chạy. Đây là một ứng dụng winforms C# .NET 4.0, sử dụng thư viện interop Outlook 14.0, chống lại Outlook 2010 32 bit chạy trên windows 7 64 bit máy. Tôi có các ứng dụng đã được biên dịch để x86 vì lý do khác vì vậy tôi nghi ngờ của nó một vấn đề 32/64 bit. Đây là mã của tôi:Cách kết nối với triển vọng 2010 trong khi chạy trong C#?
// Connect to outlook and create a new mail item
var app = new Outlook.Application();
var ns = app.GetNamespace("MAPI");
var mailItem = (Outlook.MailItem)ns.Application.CreateItem(Outlook.OlItemType.olMailItem);
// create the mail item and attach the file
mailItem.To = "";
mailItem.Subject = "Emailing: " + Path.GetFileName(_currentFilePath);
mailItem.Attachments.Add(_currentFilePath, Outlook.OlAttachmentType.olEmbeddeditem);
// show the email dialog window
mailItem.Display(true);
Nếu triển vọng không hoạt động, nó hoạt động hoàn hảo. Sau khi mở, tôi nhận được lỗi sau trên dòng đầu tiên mà nó cố gắng tạo đối tượng Outlook.Application:
Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
Bất kỳ ý tưởng nào sẽ gây ra điều này? Đây có phải là một phiên bản xung đột của một số loại?
Bạn nên chấp nhận câu trả lời của Jahmics, điều đó là chính xác. – flayn