アセンブリが厳密な名前で署名されているかどうかを確認しようとしています。
以下は私のpowershellスクリプトです
function Get-AssemblyStrongName($assemblyPath)
{
[System.Reflection.AssemblyName]::GetAssemblyName($assemblyPath).FullName
}
$File = Get-ChildItem -Path $args[0] -Include @("*.dll","*.exe") -Recurse
Foreach ($f in $File)
{
$assembly=$f.FullName
Get-AssemblyStrongName $assembly
}
出力は以下のようになります。
Sampledll、バージョン = 1.0.0.0、カルチャ = ニュートラル、PublicKeyToken = 70ea1bb087B4tbed
publickeytoken が null の場合、署名されていないと思います。if condition like を書こうとしていた
$Assembly=Get-AssemblyStrongName $assembly
If ($assembly -contains "null" ) { "assembly is not signed" }
多くのexeまたはdllはpublickeyをnullにしていますが、「アセンブリが署名されていません」として出力が表示されません。
publickeytoken が null かどうかを if 条件で確認する方法は? (またはアセンブリが署名されているかどうか)