首页 > 解决方案 > 从 WPF .Net Core 应用程序打开 Outlook 365 窗口

问题描述

这个问题已经被问了很多项目,但我无法找到合适的实际解决方案。

我正在使用 .Net Core 3.1 开发 WPF 应用程序,需要打开带有新电子邮件和附件的 Outlook(365、16.0.12827.20328)窗口。最简单的方法是使用互操作。

我的代码:

        Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
        MailItem oMsg = (MailItem)oApp.CreateItem(OlItemType.olMailItem);

        oMsg.Subject = "subject";
        oMsg.BodyFormat = OlBodyFormat.olFormatHTML;
        oMsg.HTMLBody = "body";
        oMsg.Attachments.Add("filepath", OlAttachmentType.olByValue, Type.Missing, Type.Missing);

为此,我需要互操作包。我尝试安装 nuget Microsoft.Office.Interop.Outlook并添加参考 COM -> Interop.Microsoft.Office.Interop.Outlook。

在这两种情况下,我都会收到错误: System.IO.FileNotFoundException:'无法加载文件或程序集'office,Version=15.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c'。该系统找不到指定的文件。'

我该怎么做才能解决问题?为什么我需要版本 15.0.0.0?Internet 说版本 15 适用于 Outlook 2013。

标签: c#.net-coreoutlookinterop

解决方案


通常,为了使 Outlook 自动化,您必须添加以下 COM 引用:

  • Microsoft Office 类型库 - 用于常见的 MS Office 类型。
  • Microsoft Office Outlook 类型库 - 适用于 Outlook 特定类型。

您可以尝试创建一个新的 .net 框架应用程序并添加这些 COM 引用。或者只是尝试创建一个新的 VSTO 加载项并观察添加的 COM 引用。


推荐阅读