这就是场景......我在远程机器上部署了一个dll,它具有所需的.NET框架,但没有Visual Studio和工具。在同一天,我为dll创建了3个具有不同强名称的构建。我需要验证远程计算机上的强名称,但我没有获得该dll副本的奢侈。如果没有远程计算机上的SDK,我该怎么做?
答案 0 :(得分:1)
您可以运行以下PowerShell命令,您应该在其中插入程序集的路径和名称:
powershell.exe -command "[System.Reflection.AssemblyName]::GetAssemblyName('mydll.dll').FullName"
答案 1 :(得分:0)
以上将不起作用 - 无论程序集是否为强命名都返回相同的结果。只有延迟签名才能通过该测试。
Get-ChildItem *.dll | % {
Write-Host "ps: " -NoNewLine
[System.Reflection.AssemblyName]::GetAssemblyName($_).FullName
Write-Host "sn: " -NoNewLine
sn -vf $_
}
ps: MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=11a11111a1111111
sn: MyAssembly.1.1.13.dll is a delay-signed or test-signed assembly
ps: MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=11a11111a1111111
sn: MyAssembly.1.1.15.pre.dll is valid