EWS Managed API 2.2 now available

If you're reading this, the EWS Managed API 2.2 is available for download. This version doesn't add much to the 2.1 version, but if you're working with attachments in a mail app, these changes were made with your scenario in mind.

The 2.2 release adds an Attachment property to the GetAttachmentResponse class. This seemingly simple change means that now you can use the EWS Managed API to retrieve attachments using only the attachment ID, as is the case when a mail app sends attachment IDs to a remote service, as described in the How to: Get attachments of an Outlook item from an Exchange server article. Look for that article to be updated with sample code using the EWS Managed API in the near future.

Download the 2.2 version here.

Comments (7)

  1. Scott says:

    Is this 64bit only now?  I am trying to install and get "installation package is not supported by this processor type".

  2. Starting with the 2.2 release, the installer is 64-bit only. Once installed you can use the DLLs to build both 32-bit and 64-bit apps, but you will need a 64-bit machine to run the installer.

  3. Scott says:

    Thanks for the update Jason. The download page does not list this vital nugget of information.

  4. Alexander Gayko says:


    the ExchangeVersion – enumeration doesn't contain an entry for Exchange 2010 sp3. will this be added, or shall we continue using sp2 ?

    thanks so far

  5. Ciprian Teiosanu says:

    Phew, now we can load contact photos in batch.


  6. Thieum22 says:

    It would be nice if you could provide a nuget package for this API.

  7. John J says:

    Has anyone gotten this API to work with SQL Server via a CLR Routine? I can’t get it to load the DLLs properly:

    Msg 6522, Level 16, State 1, Line 4
    A .NET Framework error occurred during execution of user-defined routine or aggregate “EXT_ExchangeCalendar”:
    System.TypeInitializationException: The type initializer for ‘Microsoft.Exchange.WebServices.Data.ExchangeServiceBase’ threw an exception. —> System.ArgumentException: The path is not of a legal form.
    at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
    at System.IO.Path.GetFullPathInternal(String path)
    at System.IO.Path.GetFullPath(String path)
    at System.Diagnostics.FileVersionInfo.GetFullPathWithAssert(String fileName)
    at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
    at Microsoft.Exchange.WebServices.Data.EwsUtilities.b__9()
    at Microsoft.Exchange.WebServices.Data.LazyMember`1.get_Member()
    at Microsoft.Exchange.WebServices.Data.ExchangeServiceBase..cctor()
    at Microsoft.Exchange.WebServices.Data.ExchangeServiceBase..ctor(TimeZoneInfo timeZone)
    at UserDefinedFunctions.EXT_ExchangeCalendar(DateTime startdate, DateTime enddate, String username, String password, String domain, String url)

    Does this make sense to anyone?

Skip to main content