Windows Azure | Unable to Find Assembly 'Microsoft.IdentityModel'

Have you encountered the following exception when you browse to your application running on Windows Azure platform.

Unable to find assembly 'Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

=================================================================================================================

Cause: The Windows Identity Foundation assemblies are not properly installed to the Windows Azure virtual machine.

Resolution: Use a startup task to reinstall the Windows Identity Foundation package on the virtual machine.

 

1.  Download the WIF.msu file from this link : https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17331 

     Windows6.1-KB974405-x64.msu (Windows Server 2008 R2) for osFamily ="2"

     Windows6.0-KB974405-x64.msu (Windows Server 2008) for osFamily ="1"

 

2.  osFamily property can be set in serviceconfiguration file.

     osFamily="2" - Specifies the OS family that is substantially compatible with Windows Server 2008 R2.

     osFamily="1" - Specifies the OS family that is substantially compatible with Windows Server 2008 SP2.

     Please refer this link: https://msdn.microsoft.com/en-us/library/windowsazure/ee758710.aspx

      

 

3.  Add the WIF.msu to your project and set “Copy to Output Directory Always” to “Copy Always”.

     Run a MSU update package using the following startup task.

     Note : Use Windows6.1-KB974405-x64.msu package if you specify osFamily="2"

               Use Windows6.0-KB974405-x64.msu package if you specify osFamily="1"

     (RegisterDLL.cmd and set copy local = true)

                   @echo off

                   sc config wuauserv start= demand

                   wusa.exe "Windows6.1-KB974405-x64.msu" /quiet /norestart

                   sc config wuauserv start= disabled

                   exit /b 0

 

    

     

4.  Add the below script in the serviceDefinition file.

     <Startup>

           <Task commandLine="RegisterDLL.cmd" executionContext="elevated" taskType="simple" />

     </Startup>

    

Deploy the package on windows Azure platform.

Do a remote desktop to the VM and you will notice that "Microsoft.IdentityModel" assembly is available in GAC.

    

 

Refer the below link :

https://msdn.microsoft.com/en-us/library/windowsazure/hh403974.aspx

=================================================================================================================