Getting the public key and token from a strong-name key
I hope we're all familiar with sn -Tp
to get the public key details from an assembly -- here using an example where the key is public and anyone can reproduce the results:
>sn -Tp .\Mono.Cecil.dll Microsoft (R) .NET Framework Strong Name Utility Version 3.5.30729.1 Copyright (c) Microsoft Corporation. All rights reserved. Public key is 002400000480000094000000060200000024000052534131000400000100010079159977d2d03a 8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c 3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fd dafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef00 65d016df Public key token is 0738eb9f132ed756
But if you haven't built anything yet, you might still want these values from a string-name key pair (e.g. to put in an InternalsVisibleTo
attribute on the first assembly at the bottom of the calling stack for the unit tests that are to come). So here's how
so now we can do
>& 'C:\Program Files\FSharp-2.0.0.0\bin\fsi.exe' .\sntp.fsx .\mono.snk Public key is 002400000480000094000000060200000024000052534131000400000100010079159977d2d03a 8e6bea7a2e74e8d1afcc93e8851974952bb480a12c9134474d04062447c37e0e68c080536fcf3c 3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fd dafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef00 65d016df Public key token is 0738eb9f132ed756
and get the values we want. As most of the time you'll want the public key as a continuous string, much of the format nonsense in the script can be dispensed with.
No comments :
Post a Comment