我的Assembly.LoadFrom(path,hashValue,hashAlgorithm)不工作,失败并出现“定位的程序集与程序集引用不匹配”异常。
这是在powershell 2中。
我已经通过首先使用Load(bytes)加载程序集来确定散列值,这很好用。使用该结果,我访问证据中的MD5散列值,如下所示:
$a= [System.Reflection.Assembly]::Load($bytes)
$h=$a.Evidence|? {$_ -is [System.Security.Policy.Hash]}
$md5= $h.MD5 我将散列值带到另一个powershell会话中,因此我有了一个干净的AppDomain,并尝试这样做:
$md5=[byte[]] (values that I determined)
[System.Reflection.Assembly]::LoadFrom("pathToMyAssembly", $md5, "MD5") 这就是失败的地方。有什么想法吗?
发布于 2012-05-17 14:27:22
您调用的LoadFrom方法仅在.NET 4及更高版本中可用。看到Powershell仍然在.NET 3.5上运行,称这不会起作用。
也许你可以将null传递给第二个参数。例如:
[System.Reflection.Assembly]::LoadFrom("pathToMyAssembly", null, $md5, "MD5") According to MSDN, the above method is now obsolete,但对于3.5版本,您别无选择:)
https://stackoverflow.com/questions/10544381
复制相似问题