Страницы

Поиск по вопросам

воскресенье, 15 марта 2020 г.

Как узнать версию .NET Framework, необходимую для запуска сборки?

#windows #net


У меня есть исполнимый EXE файла .NET. Как имея только его узнать необходимую версию
.NET Framework необходимую для запуска ?
    


Ответы

Ответ 1



Запустите ildasm из Developer Command Prompt студии (или по полному пути, у меня это C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\ildasm.exe). Откройте в нем exe, и посмотрите MANIFEST - там будут референсы на системные сборки: // Metadata version: v4.0.30319 .assembly extern mscorlib { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } .assembly extern System.Core { .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. .ver 4:0:0:0 } их версии совпадают с требуемой версией .NET

Ответ 2



Используй PowerShell [System.Reflection.Assembly]::ReflectionOnlyLoadFrom("C:\...\MyAssebly.dll").ImageRuntimeVersion

Ответ 3



Например, вы можете загрузить exe в ILSpy, и посмотреть в нём. Заметьте, что сам ILSpy требует .NET 4. Но в нормальных условиях это не должно быть нужно — приложение должно идти либо с инсталлятором, либо в его system requirements должна быть версия OS, имеющая нужную версию .NET из коробки.

Комментариев нет:

Отправить комментарий