【问题标题】:Connect to EWS (Exchange 2016)连接到 EWS (Exchange 2016)
【发布时间】:2018-05-19 05:14:33
【问题描述】:

我正在这样创建我的服务:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);

目前我正在使用 .NET 4.6.1 和 Microsoft.Exchange.WebServices v15.0.0.0(Nuget 版本 2.2.0

我错过了enums Exchange 2016

为什么会这样?

【问题讨论】:

  • 您只想使用托管 API 连接到 EWS?可能您不需要在构造函数中传递任何版本,它就可以工作。或者,您可以查看 Microsoft 是否已将代码开源,只是没有费心创建 NuGet 包。或者你可以纠缠他们发布更新的 NuGet 包。
  • 目前我们使用的是 2013。我需要通过版本,否则会出现异常。计划更新到 2016 年,所以我想让它也兼容。
  • 得到什么异常?你在 2013 年没有通过它时遇到了异常?您是否尝试过 2016 年不通过?
  • Microsoft.Exchange.WebServices.Data.ServiceVersionException: 'Exchange Server doesn't support the requested version.'
  • 这就是我在 2013 年没有通过任何版本时得到的结果。遗憾的是,我无法测试 2016 年,因为我没有一个。而且我还没有找到任何公共服务器。

标签: c# exchange-server exchangewebservices


【解决方案1】:

您也可以从GitHub 下载最新版本的EWS Managed API 并自行构建程序集,或者使用marklamley 创建的Exchange.WebServices.Managed.Api nuget 包。它包括 EWS Managed API 项目的当前版本 2.2.1.1。

【讨论】:

    【解决方案2】:

    该 NuGet 包最后一次更新是在 2015 年 1 月 15 日。Exchange 2016 于 2016 年 10 月 1 日发布。由于该版本的 Exchange 在创建包时不存在,并且 Microsoft 没有提前添加它,这就解释了为什么它不存在。

    【讨论】:

    • 解决办法是什么?
    • @FelixD。解决什么问题?
    • '我需要做什么才能连接到 Exchange 2016' - 从哪里获得我真正需要的 dll
    【解决方案3】:

    Here我找到了解决方法:

    浏览到您安装的位置 EWS 托管 API DLL。安装程序设置的默认路径是 以下:C:\Program Files\Microsoft\Exchange\Web Services\<version>\。路径可能因您是否下载而异 Microsoft.Exchange.WebServices.dll 的 32 位或 64 位版本。 选择Microsoft.Exchange.WebServices.dll 并选择确定或添加。这个 将 EWS 托管 API 引用添加到您的项目。

    这应该获得“最新”版本 - 或 NuGet 上的更新版本。

    【讨论】:

    • 你找到的链接指向 GitHub 上的源代码,shows they've updated the enum。所以我只是缠着微软发布一个更新的 NuGet 包,这样你就不必依赖松散的 DLL 引用。
    • 我会打开一个请求。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2016-04-18
    • 2017-02-13
    • 2016-11-15
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多