Язык программирования C# был разработан в качестве эффективного надежного и простого в использовании средства. В настоящее время C# является частью системы Visual Studio.NET, предназначенной для удобной работы с платформой .NET Framework и создания нового способа написания надежного программного обеспечения [1].
В отличие от традиционных кодов, код C# не компилируется непосредственно в машинный код. Компилятор C# преобразует исходный код C# в код на промежуточном языке IL (MS Intermediate Language). Файлы IL называются сборками. Подобные сборки создаются языками на основе общеязыковой среды выполнения CLR (Common Language Runtime). Эта среда поддерживает языки Visual C#, Visual C++, Visual Basic. Что упрощает сочетание различных программных компонентов, написанных на разных языках.
Файлы CIL отображаются в виде стандартных файлов .exe или .dll, однако выполняются они средой CLR. При необходимости CLR компилирует программу CIL в машинный код с последующим исполнением этого кода. В исполняемый код включаются ссылки на подпрограммы, содержащиеся в сборках. Для их работы на компьютере должна быть установлена платформа .NET Framework.
За счет создания промежуточного кода повышается надежность, безопасность и переносимость программ. При наличии на компьютере платформы .NET Framework программы C# компилируются, выполняются и распространяются так же, как и другие.
Файлы CIL имеют расширение .exe и являются фактически исходниками. Если их надо запустить на компьютере без платформы .NET Framework, то требуется формировать настоящий исполняемый файл, используя при этом специальные процедуры.