This post is written as a result of attempting to run an existing EPiServer CMS 6 R2 solution on new build Windows 8 machine. If you are trying to use the EPiServer 6 installer to install a new site on Windows 8 take a look at Arild Henrichsen's blog on the EPiServer 6 Powershell bug on Windows 8. However if you are having trouble running an existing EPiServer CMS 6 R2 solution on Windows 8 read on... 

You may experience this bug if the following conditions are true:

  • The machine is a new Windows 8 build (not upgrade)
  • Running an existing EPiServer CMS 6 R2 build
  • Site has NOT been upgraded to .net 4.0

Symptoms

On starting your application you may get the following YSOD message "Could not load file or assembly 'System.IdentityModel.Selectors, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified.":

This is due to the fact Microsoft decided to miss out an assembly from version 3.0 of the .net framework on Windows 8.

How to resolve

Get a copy of System.IdentityModel.Selectors.dll from another machine. You can copy the file from the following location on an upgraded Windows 8 or any Windows 7 (Server 2008) machine. You need to ensure you run this at a command prompt not windows explorer / File manager:

 
C:\WINDOWS\assembly\GAC_MSIL\System.IdentityModel.Selectors\3.0.0.0__b77a5c561934e089\System.IdentityModel.Selectors.dll
 

Run the following command from an elevated Visual Studio command prompt in the same folder where you copied the file above (this will install the missing assembly in the GAC):

gacutil /i System.IdentityModel.Selectors.dll

There is also a hotfix from Microsoft on how to resolve this: http://support.microsoft.com/kb/2803760


Comments

Recommendations for you