Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Could not load file or assembly 'Microsoft.IdentityModel.Clients.ActiveDirectory'

Following is the exact exception I am getting while running my .NET application.

An unhandled exception of type 'System.IO.FileNotFoundException' occurred in Generic.Helpers.dll

Additional information: Could not load file or assembly 'Microsoft.IdentityModel.Clients.ActiveDirectory, Version=2.28.1.741, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

I have a console application which references a private assembly (.dll). The assembly is referencing to Microsoft.IdentityModel.Clients.ActiveDirectory, and I have also added a NuGet package for this in the project

<package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="2.28.1" targetFramework="net46" />

I can see the DLLs are being referenced correctly in the project. However, while running the application, I am getting an error as mentioned above.

Just to give you a brief overview of the class library project - this DLL has methods to connect to CRM web api. This was working fine until last few days, and suddenly stopped working and throwing the error.

I am also consuming the same DLL in Azure function which is where it works perfectly fine.

Can anyone please suggest how to resolve this issue?

like image 892
Nirman Avatar asked Nov 25 '16 07:11

Nirman


3 Answers

May be you don't have that specific version? have you tried setting specific version to false in properties?

NuGet won't handle the references in the program. It just manages packages. This issue is with visual studio. If NuGet updates some packages and your program asks for specific version, you will definitely get problems.

like image 157
Prajwal Avatar answered Nov 10 '22 21:11

Prajwal


This was my situation and what worked for me:

I was using the Microsoft.IdentityModel.Clients.ActiveDirectory version 3.19 in a class library project but only had version 2.22 installed in the actual ASP.NET Web Application project. Upgrading to 3.19 in the web app project got me past the error.

like image 1
aBlaze Avatar answered Nov 10 '22 19:11

aBlaze


This happens when nuget package versions are not same across all projects in the solution. Solution->Nuget Package manager-> browse for package

If there are different versions, make them uniform across projects. Issue should be solved.

like image 1
Kanhaiya P. Baranwal Avatar answered Nov 10 '22 19:11

Kanhaiya P. Baranwal