Dragging up an old question, but in my case the exception page I got when trying to load one of our ASP.NET Web Forms sites wasn't telling me WHAT it couldn't load, just that there was an exception.
The Event Viewer didn't provide any better details than "csc.exe" and "System.IO.FileLoadException".
After enabling Fusion logging (assembly binding), I was able to track down that csc.exe was failing to load bin\roslyn\System.Runtime.CompilerServices.Unsafe.dll because of a version mismatch. Turns out csc.exe.Config was missing so a bindingRedirect (0.0.0.0-5.0.0.0 -> 5.0.0.0) wasn't happening.
Since this was the top result for "iis .net runtime csc.exe System.IO.FileLoadException" on Google, maybe this will save somebody else a few hours of head scratching.