Kirk Evans Blog

.NET From a Markup Perspective

Getting Public Key Token of Assembly Within Visual Studio

I am in training this week with Andrew Connell (by far the best SharePoint training I have ever attended), learning about SharePoint development.  As I get started with my deep dive into learning SharePoint, something that comes up a lot is the need to find the public key token of the current .NET assembly.  He just showed a great shortcut.

In Visual Studio, go to the Tools menu and choose External Tools.


That brings up a new dialog window.  Click the Add button and add the following:

Title: Get &PublicKeyToken

Command: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\sn.exe

Arguments: -Tp $(TargetPath)

Check the Use Output Window checkbox.  The final looks like this:


Create a project and sign it using a strong name key.  Then choose Tools / Get PublicKeyToken, and in the output window you will see something like the following:

Microsoft (R) .NET Framework Strong Name Utility  Version 3.5.21022.8
Copyright (c) Microsoft Corporation.  All rights reserved.

Public key is

Public key token is 9589fa1be527eb6c

Just copy the last value and put it into your assembly’s 5-part name.

Funny, I just got in the habit a long, long time ago of loading ildasm, copying the public key token, and then manually removing the spaces from that value.  Or, more recently, loading up Reflector and loading the assembly just to get the public key token.  Never even thought of this time saver, just using sn.exe from Visual Studio as an external tool.