Самый верный способ ответить на ваш вопрос - заглянуть в PE.
Второй раздел заголовков PE - это заголовок файла, он содержит информацию о нескольких битах, и один из них - Характеристики .
Поле Характеристики содержит флаги, которые указывают атрибуты объекта или файла изображения.
Один из флагов: 0x2000
Файл изображения представляет собой динамически подключаемую библиотеку (DLL). Такие файлы считаются исполняемыми файлами практически для всех целей, хотя их нельзя запускать напрямую.
Чтобы узнать, является ли ваш файл исполняемым файлом или библиотекой динамической компоновки, просто установите этот бит. Если он установлен в 1, это DLL, если он установлен в 0, является исполняемым. Чтобы проверить PE (без кода), у вас есть несколько вариантов, например, проверьте CFF Explorer или dnSpy.
(в вашем случае вы увидите, что этот флаг установлен в 1)
Еще одинИнтересно, что вы можете проверить это EntryPointToken внутри .NET Directory (не путайте с AddressOfEntryPoint в дополнительном заголовке).