Say I have a web forms application built using visual studio 2015 using c# 6 syntax and targeting .NET framework version 4.5.
This is fine for everything that is delivered as DLLs because it's built in my build environment where I specify the language version and the target framework version in my csproj files.
When asp.net comes to compile my aspx pages in the runtime environment, it knows from the <compilation defaultLanguage="c#" targetFramework="4.5.1"/>
in my web.config that it should be targeting the version 4.5.1 of the framework but how does it know what language version to use when invoking the compiler?