Versioning is complex...
- There's the version of the .NET runtime, which for you is version 4.5.
- Then there's the version of the C# language being used, which is at least 5.0 if you're using version if you're using VS 2012 or 2013 (You are using C# 5.0 when using C# in those versions of Visual Studio, even if targeting an earlier .NET runtime , which was introduced with version 4.5 of the .NET framework.
- Then there's the Common Language Runtime (CRL), which for you is 4.0.30319, as returned by Assembly.ImageRuntimeVersion