Mock Function call to force loading an assembly - how elegant!

New version of Microsoft.IdentityModel.Clients.ActiveDirectory (ADAL.NET) is out – good time to update!

This post was most recently updated on December 27th, 2018.

Reading Time: 2 minutes.

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!

Microsoft.IdentityModel.Clients.ActiveDirectory DLL in Visual Studio Object Browser
Microsoft.IdentityModel.Clients.ActiveDirectory DLL in Visual Studio Object Browser

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/

mm

2
Leave a Reply

avatar
5000
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
mmTom G Recent comment authors
  Subscribe  
Notify of
Tom G
Guest
Tom G

Interesting post … but I’m still getting the “Could not load file or assembly Microsoft.IdentityModel.Clients.ActiveDirectory.Platform” with 3.17.1 … where exactly do you see this assembly so it’s referenced? It’s not part of the nuget package. Thoughts? I’ve never had something this annoying with MS code before