#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 из коробки.
Комментариев нет:
Отправить комментарий