我一般喜欢PowerShell,但引用程序集总是很难。
使用PowerShell 6.2。我需要创建一个存在于System.Security.Cryptography.Csp.dll中的对象。该DLL位于C:\ Program Files \ PowerShell \ 6 \ ref中。
这是使用垃圾参数创建的违规对象:
New-Object PasswordDeriveBytes($null, $null, 'SHA1', 2)
以下是我尝试使用错误添加对crypto dll的引用:
Add-Type -AssemblyName *System.Security.Cryptography.Csp*
#找不到类型Add-Type -AssemblyName System.Security.Cryptography.Csp.dll
#找不到路径'C:\ pathToMyScript \ System.Security.Cryptography.Csp.dll',因为它不存在Add-Type -Path 'System.Security.Cryptography.Csp.dll'
#与上述相同的错误Add-Type -Path 'C:\Program Files\PowerShell\6\ref\System.Security.Cryptography.Csp.dll'
#找不到类型[PasswordDeriveBytes]:验证是否加载了包含此类型的程序集(Add-Type上没有错误)如何简单地添加对使用PowerShell安装的程序集的引用?没有多少看其他例子有帮助,看起来它们通常是上述变化之一。
答案是@PetSerAl的评论,只是完全限定了类型。无需参考组件。