这是一个老问题,OP 和@JakobChristensen 的两个答案确实回答了这个问题。我只想提一下,我发现情况相当混乱。
我最近(手动,不是通过 NuGet)下载了当前的 NuGet 版本,他们目前称之为“2.2.0”。
https://www.nuget.org/packages/Microsoft.Exchange.WebServices/
但是 .dll 上的内部文件/产品版本是 15.00.0913.015。
根据这个页面
https://msdn.microsoft.com/en-us/library/office/dn528373(v=exchg.150).aspx
文件应该放在这里:
C:\Program Files\Microsoft\Exchange\Web Services\2.0\
所以这就是我放置它的地方。后来,在玩弄 Microsoft 示例程序时,我注意到它确实引用了该位置的文件。
但是另一个微软示例程序引用了 GAC 中的文件!
C:\WINDOWS\assembly\GAC_MSIL\Microsoft.Exchange.WebServices\15.0.0.0__31bf3856ad364e35\Microsoft.Exchange.WebServices.dll
此版本的文件/产品版本为 15.00.0847.030。
我不确定该文件是如何到达那里的,可能是 Visual Studio 安装的一部分。
还有一个叫做 EWSCore 的东西,它显然是官方 EWS 的一个分叉版本,并修复了一些错误。
https://www.nuget.org/packages/EWSCore/
我目前的决定是我会考虑将官方 NuGet 版本作为我将标准化的版本,并将其手动下载到我的开发 PC 和我的构建 PC 并将其放置在这里:
C:\Program Files\Microsoft\Exchange\Web Services\2.0\