【问题标题】:Why Outlook is not getting synchronized为什么 Outlook 没有同步
【发布时间】:2016-07-16 03:26:16
【问题描述】:

我正在开发一个使用 Outlook COM 对象库的 C# 应用程序。 将约会添加到日历后,它会立即显示在 Outlook 桌面应用程序中,但在 Outlook Web 应用程序中找不到约会。可悲的是,有些约会同步了,突然停止了同步。 以下是我保存约会的方式:

Outlook.Application olApp = new Outlook.Application();
Outlook.NameSpace mapiNS = olApp.GetNamespace("MAPI");

string profile = "";
mapiNS.Logon(profile, null, null, null);

Outlook.AppointmentItem apt = olApp.CreateItem(Outlook.OlItemType.olAppointmentItem);
apt.Save();

我怎样才能让它同步?

【问题讨论】:

  • Microsoft 最近对 Outlook COM 进行了一次彻底的更改。您确定您的应用程序与您的 Outlook 使用相同的处理器集吗?我的意思是,如果您的 Outlook 是 x32,那么您的代码必须使用相同的编译设置。
  • 我的应用程序正在使用“任何 CPU”(即 x64)进行编译。但是它编译运行成功,并且约会被添加到桌面outlook中,但是它并没有沿着互联网同步。
  • 我在使用应用程序“任何 CPU”和 Outlook 2013/Office 365 时遇到问题 - 它一直运行良好。我必须编译不同的版本才能让所有功能再次运行。看到您的代码,您需要使用与 MAPI 相关的所有数据设置 LOGON,不是吗?
  • 当我从 Outlook 本身添加约会时,问题又出现了。
  • 尝试从 MS 运行最近的 OfficeFix 工具。 support.office.com/en-us/article/…

标签: c# outlook office-interop


【解决方案1】:

我必须在 save 方法之后调用 send 方法,否则 Outlook 会随时发送约会。

Outlook.Application olApp = new Outlook.Application();
Outlook.NameSpace mapiNS = olApp.GetNamespace("MAPI");

string profile = "";
mapiNS.Logon(profile, null, null, null);

Outlook.AppointmentItem apt = olApp.CreateItem(Outlook.OlItemType.olAppointmentItem);
apt.Save();
apt.Send();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 2010-09-11
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    相关资源
    最近更新 更多