Вопрос

Я изучаю концепции, связанные с .NET Framework.Я в замешательстве в один момент.Насколько я понимаю, компиляторы CSC.exe и AL.exe компилируют файлы в сборку на основе переключателей.Таким образом, мой вопрос: 1) разные компиляторы в .NET Framework нацелены на CLR.Означает ли это, что отдельные файлы (код) и файлы ресурсов компилируются в сборку, и эта сборка выполняется во время выполнения CLR?

2) Как это происходит, когда я использую Visual Studio .NET?

Спасибо.

Это было полезно?

Решение

  1. Да это верно.Сборка содержит перевод MSIL исходных файлов, который CLR преобразует в машинный код и выполняет.

  2. Когда вы выбираете команду «Сборка» в Visual Studio, она запускает компилятор, соответствующий типу файлов вашего проекта (например,компилятор C# для исходных файлов C#) и создает сборку.(VS на самом деле не выполняет csc.exe, al.exe и т. д.;он использует внутрипроцессные эквиваленты.Но результат по сути тот же.)

Другие советы

Ответ на вопрос 1:Да.

Ответ на вопрос 2 заключается в том, что Visual Studio вызывает за вас компилятор и использует файл вашего проекта, чтобы предоставить компилятору информацию, необходимую для создания сборки.

1:довольно много;обратите внимание, что все файлы необходимо рассматривать вместе (обычно они не компилируются по отдельности, а затем объединяются), и что технически IL не «исполняется» (поскольку это не собственные инструкции ЦП);это должно быть либо переведено (с помощью JIT или NGEN) в машинный код или на какой-либо платформес («микрофреймворк») интерпретируется.Но результат тот же...

2:тот же процесс, за исключением того, что он не вызывает exe-файлы напрямую, а просто напрямую вызывает код.

Понятие пространства имен не связано с понятием сборки.Одна сборка может содержать типы, иерархические имена которых имеют разное пространство имен.

Корни, и корень логического пространства имен может охватывать несколько сборок.В .NET Framework пространство имен-это логическое удобство именования логического дизайна, тогда как сборка устанавливает

Имя области для типов во время выполнения.

Шриранг Джадхав

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top