我正在尝试构建一个脚本,它将为我提供.net组件中dll方法的列表.
这是我到目前为止所做的:
Param([String]$path)
if($path.StartsWith("["))
{
$asm = [Reflection.Assembly]::LoadWithPartialName($path)
$asm.GetTypes() | select Name, Namespace | sort Namespace | ft -groupby Namespace
}
else
{
$asm = [Reflection.Assembly]::LoadFile($path)
$asm.GetTypes() | select Name, Namespace | sort Namespace | ft -groupby Namespace
}
Run Code Online (Sandbox Code Playgroud)
所以基本上脚本的第二部分(当提供dll的路径时)工作得很好;
运行'.\ GetDllMethods.ps1 -path"C:\ Program Files(x86)\ WinSCP\WinSCPnet.dll"'将为我提供WinSCP dll的所有成员.
我想用脚本的第一部分实现的是通过使用以下内容提供.net组件的名称来获得相同的结果:
.\ GetDllMethods.ps1 -path"[System.IO.StreamWriter]"
获取StreamWriter组件的所有成员.
但我在这里得到一个空例外..任何提示?
我想从我的选择中删除重复项,但是这一行给了我一个 1004 错误:
ActiveSheet.Range("B3", Range("B3").End(xlDown)).RemoveDuplicates Columns:=2, Header:=xlNo
Run Code Online (Sandbox Code Playgroud)
我该如何解决?