↑ Grab this Headline Animator

Wednesday, October 29, 2008

How do we generate strong names or what is the process of generating string names, what is use of SN.EXE, How do we apply strong names to assembly?

Strong name is the name by which we can identify an assembly uniquely. It consists of text name, version number, and culture information and plus a public key and a digital signature
Steps for generating strong name:
1. Create a key
Sn –k “filename.snk”
2. Add the key in assemblyinfo.cs
3. Add the assembly to GAC by Gacutil –I “strong name” “dllName”


1.To create a key pair
at the command prompt, type the following command:
Sn –k
in this command, file name is the name of the output file containing the key pair.
The following example creates a key pair called sgKey.snk.
sn -k sgKey.snk
If you intend to delay sign an assembly and you control the whole key pair (which is unlikely outside test scenarios), you can use the following commands to generate a key pair and then extract the public key from it into a separate file. First, create the key pair:
sn -k keypair.snk
Next, extract the public key from the key pair and copy it to a separate file:
sn -p keypair.snk public.snk

2.Once you create the key pair, you must put the file where the strong name signing tools can find it. When signing an assembly with a strong name, the Assembly Linker (Al.exe) looks for the key file relative to the current directory and to the output directory. When using command-line compilers, you can simply copy the key to the current directory containing your code modules.
If you are using an IDE, such as Visual Studio .NET, to sign an assembly with a strong name, you must understand where the IDE looks for the key file. For example, Visual Basic .NET looks for the key file in the directory containing the Visual Studio Solution, whereas the C# compiler looks for the key file in the directory containing the binary. Put the key file in the appropriate project directory and set the file attribute as follows:
[Visual Basic]

[assembly: AssemblyKeyFileAttribute(@"..\..\key.snk")]

Submit this story to DotNetKicks

No comments:

Post a Comment

Post your comments/questions/feedback for this Article.


Latest Articles