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
On starting your application you may get the following YSOD message "Could not load file or assembly 'System.IdentityModel.Selectors, Version=22.214.171.124, 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:
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