Adding a Strong Name to an existing DLL that you don't have the source
Adding a Strong Name to an existing DLL that you don't have the source to
There are times when you need a DLL to have a strong name; putting it in the GAC for example. With 3rd party DLL's this could be a pain. This is how you do it:
From a VS.NET command prompt, enter the following:
1. Generate a KeyFile
sn -k keyPair.snk
2. Get the MSIL for the assembly
ildasm SomeAssembly.dll /out:SomeAssembly.il
3. Rename the original assembly, just in case
ren SomeAssembly.dll SomeAssembly.dll.orig
4. Build a new assembly from the MSIL output and your KeyFile
ilasm SomeAssembly.il /dll /key= keyPair.snk
Where do these tools live
If you've not got your framework and sdk paths properly mapped... In framework 2 this is where the command line utilities live:
- C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ilasm.exe
- C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\ildasm.exe
- C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\sn.exe