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
| Author |
: Paul Hayman |
| Published |
: Tuesday, 07 August, 2007 |
Paul is the COO of kwiboo ltd consultant and has more than a decade of IT consultancy experience. He has consulted for a number of blue chip companies and has been exposed to the folowing sectors: Utilities, Telecommunications, Insurance, Media, Investment Banking, Leisure, Legal, CRM, Pharmaceuticals, Interactive Gaming, Mobile Communications, Online Services.
Paul is the COO and co-founder of kwiboo (http://www.kwiboo.com/) and is also the creator of GeekZilla.