答案 0 :(得分:2)
我认为您可以做到:
$Assembly = [System.Reflection.Assembly]::LoadFrom('c:\temp\file.dll')
$Assembly.DefinedTypes
$Assembly.GetExportedTypes()
$Assembly.GetLoadedModules()
答案 1 :(得分:1)
另一种方法:使用Import-Module
导入DLL并调用程序集的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 }