0

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")  

それが失敗です。何か案は?

4

1 に答える 1

1

呼び出しているLoadFromメソッドは、.NET 4 以降でのみ使用できます。Powershellがまだ.NET 3.5で実行されているのを見て、これを呼び出してもうまくいきません。

おそらく、2番目のパラメーターに渡すことができnullます。例えば:

[System.Reflection.Assembly]::LoadFrom("pathToMyAssembly", null, $md5, "MD5")  

MSDN によると、上記の方法は廃止されましたが、3.5 では他に選択肢がありません :)

于 2012-05-17T06:27:22.077 に答える