Как получить информацию, как классы внутри файла DLL? - PullRequest
0 голосов
/ 05 марта 2019

У меня есть DLL-файл .net framework, и у него есть несколько классов.

Я хочу использовать powershell, чтобы получить имя всех классов внутри .dll-файла, как я могу это сделать?

обновление:

, когда я пытался использовать import-module "xxxxx", возникает следующая ошибка.

enter image description here

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Другой способ: импортировать DLL с Import-Module и вызвать сборку GetTypes().Вот так

PS C:\> import-module "C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\Microsoft.SqlServer.Smo.dll"
PS C:\> $smo = ([appdomain]::CurrentDomain.GetAssemblies()) | ?{ $_.modules.name.contains("SqlServer") }
PS C:\> $smo.gettypes() | ? { $_.isPublic -and $_.isClass }
0 голосов
/ 05 марта 2019

Я думаю, что вы можете сделать:

$Assembly = [System.Reflection.Assembly]::LoadFrom('c:\temp\file.dll')
$Assembly.DefinedTypes
$Assembly.GetExportedTypes()
$Assembly.GetLoadedModules()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...