В. NET разница между .exe и .dll на самом деле очень мала. .exe обычно немного больше, чем .dll с некоторым кодом bootstrap и начальной точкой (класс, чей основной метод должен быть вызван).
Вы можете использовать и. NET .exe и. dll как ссылки на проект. Может быть какая-то разница в некоторых деталях, таких как COM-взаимодействие, но я этого не ожидаю.
Что именно компилятор построит, зависит от его входных данных. Что включает в себя настройки проекта. Есть особый тип проекта для библиотеки. А при изменении версии может нарушиться правильное чтение файлов проекта. И, конечно же, есть возможность «выделить» некоторый код в .dll. Большинство программ в настоящее время - это больше .dll, чем исполняемые файлы. И может быть полезно, чтобы .exe был маленьким.