This post was most recently updated on January 15th, 2021.2 min read.
There’s now a new version of the assembly Microsoft.IdentityModel.Clients.ActiveDirectory available – plenty of reasons to update right away! Let me offer you one hot take on the matter since the earlier 3.x -versions of the package had some issues.
Why bother updating?
In an earlier post I described an issue I had with Microsoft.IdentityModel.Clients.ActiveDirectory.Platform not getting copied during the build in a referencing project. In 3.17.0, which the developers published this month, they fixed the issue! The new package actually contains separate DLLs for different platforms.
In essence this means, that from C#/.NET -developer’s standing point, the team has assimilated the Microsoft.IdentityModel.Clients.ActiveDirectory.Platform assembly, among other platform DLLs, into Microsoft.IdentityModel.Clients.ActiveDirectory package itself. Hence, you’ll need no more funky hacks to ensure, that Visual Studio will end up copying the DLLs during the build! :)
What’s new with Microsoft.IdentityModel.Clients.ActiveDirectory 3.17?
Release notes say, that 3.17 introduces these changes:
- Write more efficient applications, tolerant to Azure AD throttling.
- Force end users of your apps to choose an identity even when s/he is logged-in.
- Process more effective conditional access.
While looking at the DLLs through Object Browser, it seems like they’ve added a new namespace “Native”, which seems like its more or less moved from the Playtform dll. In essence, that namespace likely now contains the functionality that was in Platform dll before.. Therefore, you should not need the Platform dll anymore!
Disclaimer: I’ve got nothing to do with the development team. I’m just happy the team was able to push this update out – so I thought I should maybe give them some appreciation for their work. Good job, folks! :)
To find out more, check this: https://azure.microsoft.com/en-us/blog/adal-net-3-17-0-released-2/