Изменился ли CIL (общий промежуточный язык) для .Net 4.0? - PullRequest
5 голосов
/ 04 ноября 2010

Я знаю, что до 3.5 .Net использует байт-код, определенный в .Net 2.0.

Мне интересно, изменился ли новый 4,0-байтовый код или нет. Спасибо!

Поскольку последний стандартный файл ECMA по-прежнему выпущен в 2006 году, я подозреваю, что 4.0 не меняет байтовый код.

РЕДАКТИРОВАТЬ: Я немного поискал в Интернете и обнаружил, что CIL - это .Net-байт-код, это разные вещи. Я понимаю, что байт-код CIL для .Net является asm для машинного кода. Так что мой вопрос все еще остается в силе, меняется ли CIL / Bytecode?

Ответы [ 2 ]

7 голосов
/ 04 ноября 2010

Да, CLR был изменен:

со страницы .NET Framework версии и зависимости страница:

.NET Framework версии 4: включает в себя новую версию CLR, расширенные библиотеки базовых классов и новые функции, такие как платформа Managed Extensibility Framework (MEF), среда динамического языка (DLR) и контракты кода.

Что касается изменений в CIL (MSIL), то ближе всего я понял, что в классе System.Reflection.Emit.OpCodes нет изменений, которые должны описывать все доступные коды операций. Я проверил это, сравнив версию документации 4.0 с версией документации 3.5.

0 голосов
/ 21 мая 2016

Да. Теперь есть версия CLR 4.0. Это последняя версия 4.6.

Пожалуйста, обратитесь к https://msdn.microsoft.com/en-us/library/8bs2ecf4(v=vs.110).aspx

...