C# 连接到EWS(Exchange 2016)

C# 连接到EWS(Exchange 2016),c#,exchange-server,exchangewebservices,C#,Exchange Server,Exchangewebservices,我创建的服务如下所示: ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013); 目前我正在使用.NET 4.6.1和Microsoft.Exchange.WebServices v15.0.0.0(Nuget版本2.2.0) 我缺少Exchange 2016的枚举 这是为什么?该NuGet软件包最近一次更新是在2015年1月15日。Exchange 2016于2016年10月1日发布。由于该软件

我创建的服务如下所示:

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);

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

我缺少
Exchange 2016的
枚举


这是为什么?

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

我找到了一个解决方法:

浏览到您安装的位置 EWS管理的API DLL。安装程序设置的默认路径是 以下内容:
C:\ProgramFiles\Microsoft\Exchange\Web
服务\\
。路径可能因您是否下载而有所不同 Microsoft.Exchange.WebServices.dll的32位或64位版本。
选择Microsoft.Exchange.WebServices.dll
,然后选择“确定”或“添加”。此 将EWS托管API引用添加到项目中


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

您也可以从下载最新版本的
EWS托管API
并自行构建程序集,或者使用由创建的NuGet包。它包括当前版本2.2.1.1的
EWS托管API
项目。

解决方案是什么?@FelixD.Soluti关于什么?“连接到Exchange 2016我需要做什么”-从何处获取我实际需要的
dll
。您只想使用托管API连接到EWS?可能您不需要在构造函数中传递任何版本,它就可以正常工作。或者您可以查看Microsoft是否已将代码开源,只是不费心创建NuGet软件包。或者你可以缠着他们发布更新的NuGet软件包。目前我们正在使用2013。我需要通过该版本,否则我会得到一个异常。计划更新到2016年,所以我也想让它与之兼容。得到什么异常?你在没有通过2013年时得到了异常?你尝试过没有通过2016年吗?
Microsoft.Exchange.WebServices.Data.ServiceVersionException:“Exchange Server不支持请求的版本。”
这是我在2013年没有通过任何版本时得到的结果。遗憾的是,我无法测试2016,因为我没有一个版本。而且我还没有找到任何公共服务器。您在GitHub上找到的链接指向源代码,这就是。所以我只是想缠着微软发布一个更新的NuGet软件包,这样你就不必依赖松散的DLL引用。我会打开一个请求。谢谢你的帮助!