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

 

posted @ 2008-11-26 09:39  莫贝特(MBetter)  阅读(280)  评论(0编辑  收藏  举报