Все программы на C # (и вообще любой язык .NET) преобразуются в «сборку» .NET, которая представляет собой .exe или .dll, которая содержит промежуточный байт-код - CIL . Этот байт-код компилируется в язык компьютера, когда вы запускаете программу на лету с помощью JIT-компилятора .
По умолчанию Visual Studio помещает сборки .NET в папку /bin
вашего проекта, а затем в нее - выбранную конфигурацию. (по умолчанию существует только 2, /bin/Debug
и /bin/Release
). Вы можете изменить это в свойствах проекта.
В сборке .NET нет кода сборки, но вы можете просмотреть байт-код CIL с помощью таких инструментов, как ildasm.exe или Mono.Cecil .
Преимущество JIT-компилятора состоит в том, что он может определять текущую аппаратную конфигурацию системы и применять оптимизации на основе функций ЦП. Не было бы смысла смотреть на то, что генерирует JIT, поскольку это будет отличаться от компьютера к компьютеру.