Как узнать, использует ли приложение win32 среду выполнения .NET? - PullRequest
6 голосов
/ 15 апреля 2009

Как узнать, является ли исполняемый файл приложением .NET?

Я предпочитаю не устанавливать Visual Studio. Но если мне придется, я буду. Программа командной строки предпочтительнее.

Ответы [ 8 ]

12 голосов
/ 15 апреля 2009

PEVerify сделает это:)

11 голосов
/ 15 апреля 2009

Приложение является исполняемым файлом .NET, если для его запуска требуется mscoree.dll. Вы можете проверить это, используя Dependency Walker , но в целом подойдет любой инструмент, который дает вам список необходимых DLL для запуска.

Если вы хотите знать, является ли запущенный процесс процессом .NET, я могу порекомендовать только Process Explorer . Этот инструмент предоставит вам много информации о процессе, включая некоторые свойства .NET.

6 голосов
/ 15 апреля 2009

Process Explorer по умолчанию окрашивает приложения dotNet, используя желтый цвет. Этого должно быть достаточно:)

6 голосов
/ 15 апреля 2009

Или проще: используйте Process Explorer. Скачать бесплатно здесь

2 голосов
/ 15 апреля 2009

Еще проще:

  1. Откройте свойства, посмотрите на вкладку «Версия», если в разделе «Другая информация» вы видите свойство с именем «Версия сборки», то это скорее всего приложение .NET.

  2. Откройте EXE или DLL с помощью блокнота или аналогичного приложения и найдите текст «mscorlib» (без кавычек). Если вы найдете его, скорее всего, это будет приложение .NET.

2 голосов
/ 15 апреля 2009

Вы можете использовать ILDasm.exe, который устанавливается по умолчанию вместе с установкой .Net Framework SDK на вашем компьютере (см. C: \ Program Files \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ Bin). Просто откройте ildasm. .exe ru бросьте сборку в нем, если он не работает, то это .net, если вы получаете сообщение об ошибке, это не так.

2 голосов
/ 15 апреля 2009

Перетащите его в Отражатель , и он будет декомпилирован.

1 голос
/ 15 апреля 2009

"Я предпочитаю не устанавливать Visual Studio. Но если я должен будут. Программа командной строки предпочтительным ".

Вам не нужно устанавливать Visual Studio только для запуска приложения .NET - просто .NET Framework, который вы можете загрузить самостоятельно.

Но, если вы хотите определить, является ли это приложением .NET, вы можете загрузить и использовать .NET Reflector или использовать ILDasm, который поставляется с .NET Framework SDK.

...