Как получить доступ к коду MSIL скомпилированных сборок .NET?

VB.NET и C# (и других языков) генерируют код MSIL. Как я могу увидеть этот код?

Что там в этом файле? Где находится этот файл и как я могу получить к нему доступ?

Второй вопрос:

Как скомпилировать программу C# из приглашения cmd и как проверить каждый файл, созданный с помощью этого компилятора?


person Kishore Kumar    schedule 20.03.2012    source источник
comment
Я думаю, вам нужно прояснить свой вопрос: CLR является абстрактным понятием и не генерирует MSIL. Какой код вы пытаетесь увидеть?   -  person Damien_The_Unbeliever    schedule 20.03.2012
comment
Я читал, что языки .Net Compactible, такие как VB.Net или C#, компилируются в Miceosoft Intermediate Language.   -  person Kishore Kumar    schedule 20.03.2012
comment
Да, хорошо, это правда. Но это касается компиляторов VB и C#. CLR — это среда выполнения, в которой запускаются исполняемые файлы .NET.   -  person Damien_The_Unbeliever    schedule 20.03.2012
comment
Это означает, что компилятор C# и VB.Net генерирует MSIL, а не CLR.   -  person Kishore Kumar    schedule 20.03.2012
comment
ваш голос может помочь мне получить больше ответов   -  person Kishore Kumar    schedule 20.03.2012


Ответы (3)


Управляемые библиотеки DLL и EXE находятся в MSIL.

Вы можете увидеть MSIL, используя ildasm.exe.

person SLaks    schedule 20.03.2012
comment
Для удобства искателей этот инструмент будет храниться где-то вроде C:\Program Files (x86)\Microsoft SDK\Windows\v10.0A\bin\NETFX 4.6.2 Tools. Ссылка в этом посте содержит несколько примеров внизу, которые очень полезны. - person HockeyJ; 24.07.2017

Вам понадобится декомпилятор, такой как JustDecompile от Telerik (бесплатно). С его помощью вы можете открыть любой исполняемый файл .NET или DLL и изучить сгенерированный MSIL (на выбранном вами языке).

http://www.telerik.com/products/decompiler.aspx

person mgnoonan    schedule 20.03.2012

Инструмент Ildasm.exe устанавливается с фреймворком вместе с VS. Вы можете найти его в папке <Program Files>\Microsoft SDKs.

Он открывает файлы .EXE и .DLL.

person Henk Holterman    schedule 20.03.2012