Где находится файл сборки? - PullRequest
0 голосов
/ 02 февраля 2012

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

Ответы [ 3 ]

4 голосов
/ 02 февраля 2012

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

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

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

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

3 голосов
/ 02 февраля 2012

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

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

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

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

0 голосов
/ 02 февраля 2012

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).
ref: http://www.dotnet -guide.com / assembly.html

...