Где находится файл сборки?

Я создал простое приложение и прочитал в книге, что C# или любая программа.net преобразуется в файл сборки, содержащий код сборки, но я хотел бы знать, где найти этот файл сборки.

3 ответа

Решение

Все программы на C# (и, в более общем случае, на любом языке.NET) преобразуются в "сборку".NET, которая представляет собой.exe или.dll, которая содержит промежуточный байт-код - CIL. Этот байт-код компилируется в язык компьютера, когда вы запускаете программу на лету компилятором JIT.

По умолчанию Visual Studio помещает сборки.NET в ваш проект. /bin папку, а затем выбранную конфигурацию под этим. (по умолчанию существует только 2, /bin/Debug а также /bin/Release) Вы можете изменить это в свойствах проекта.

В сборке.NET нет кода сборки, но вы можете просмотреть байт-код CIL с помощью таких инструментов, как ildasm.exe или Mono.Cecil.

JIT-компилятор имеет то преимущество, что он способен определять текущую аппаратную конфигурацию системы и применять оптимизацию на основе характеристик процессора. Не будет смысла смотреть на то, что генерирует JIT, так как это будет отличаться от компьютера к компьютеру.

Вы должны быть осторожны с терминологией.

Двоичные файлы.NET называются "сборками", и они не содержат ассемблерный код (предполагается, что под ассемблерным кодом вы подразумеваете фактические машинные инструкции). Вместо этого он содержит CIL, который похож на язык ассемблера для дурацкого процессора. Перед выполнением CIL точно компилируется в нативную сборку для платформы и запускается.

Если вы строите отладочную сборку, bin/Debug где ваши сборки будут. Для выпуска это в bin/Release

Обратите внимание, что эти каталоги относятся к вашему местоположению проекта Visual Studio.

You can create two types of ASP.NET Assemblies in ASP.NET: private ASP.NET Assemblies and shared assemblies. Private ASP.NET Assemblies are created whey you build component files like DLLs that can be applied to one application. Shared ASP.NET Assemblies are created when you want to share the component files across multiple applications. Shared ASP.NET Assemblies must have a unique name and must be placed in Global Assembly Cache (GAC). The GAC is located in the Assembly directory in WinNT. You can view both the manifest and the IL using ILDisassembler (ildasm.exe).
ссылка: http://www.dotnet-guide.com/assemblies.html

Другие вопросы по тегам