4 ответов:
The держит "объект", или промежуточные, файлы, которые являются скомпилированными двоичными файлами, которые еще не были связаны. Они по существу являются фрагментами, которые будут объединены для создания окончательного исполняемого файла. Компилятор генерирует один объектный файл для каждого исходного файла, и эти файлы помещаются в .
The держит двоичные файлы, которые являются фактическим исполняемым кодом для вашего приложения или библиотека.
каждая из этих папок далее подразделяется на
DebugиReleaseпапки, которые просто соответствуют конфигурации сборки проекта. Два типа файлов, описанных выше, помещаются в соответствующую папку в зависимости от типа выполняемой сборки. Это позволяет легко определить, какие исполняемые файлы создаются с отладочными символами, а какие были созданы с включенной оптимизацией и готовы к выпуску.обратите внимание, что вы можете измените место, где Visual Studio выводит исполняемые файлы во время компиляции в свойствах проекта. Можно также изменить имена и выбранные параметры для конфигураций сборки.
The
objкаталог предназначен для промежуточных объектных файлов и других переходных файлов данных, которые генерируются компилятором или системой сборки во время сборки. Элементbinкаталог-это каталог, в который будут записаны конечные выходные двоичные файлы (и любые зависимости или другие развертываемые файлы).вы можете изменить фактические каталоги, используемые для обеих целей в настройках проекта, если хотите.
Я бы рекомендовал вам посмотреть это видео на youtube, которое демонстрирует разницу между папки c# bin и obj а также объясняет, как мы получаем выгоду от инкрементной / условной компиляции.
компиляция C# представляет собой двухэтапный процесс, см. диаграмму ниже для получения более подробной информации : -
- компиляция: - на этапе компиляции отдельные файлы кода C# компилируются в отдельные скомпилированные единицы. Эти отдельные скомпилированные файлы кода идут в OBJ справочник.
- связывание : - в фазе связывания эти отдельные скомпилированные файлы кода связаны для создания одной единицы DLL и EXE. Это идет в каталог BIN.
Если вы сравните каталог bin и obj, вы найдете больше файлов в каталоге "obj", поскольку он имеет отдельные скомпилированные файлы кода, а "bin" имеет один блок.
один интересный факт о каталоге obj: если вы настроили публикацию в веб-проекте, файлы, которые будут опубликованы, будут размещены в obj\Release\Package\PackageTmp. Если вы хотите опубликовать файлы самостоятельно, а не использовать интегрированную функцию VS, вы можете захватить файлы, которые вам действительно нужно развернуть здесь, а не выбирать все цифровые обломки в каталоге bin.


Comments