Создание сборки - CLR - PullRequest
       11

Создание сборки - CLR

1 голос
/ 26 октября 2009

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

2) Как это происходит при использовании Visual Studio .NET?

Спасибо.

Ответы [ 4 ]

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

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

0 голосов
/ 03 декабря 2009

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

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

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

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

0 голосов
/ 26 октября 2009

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

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

0 голосов
/ 26 октября 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...