如何使一个你没有源代码的DLL文件变为强命名的(Strong Name)

有时候你会需要一个DLL是强命名的,比如你想把这个文件放到GAC里面。如果这是一个第三方的DLL,你没有源代码,这会是一件比较麻烦的事情。有一个方法可以解决这个问题。

在VS.NET的命名行窗口下,输入如下的代码。

1,生成一个KeyFile

sn -k keyPair.snk

2, 得到程序集的MSIL

ildasm SomeAssembly.dll /out:SomeAssembly.il

3,为了避免冲突,把原来的DLL文件改名

ren SomeAssembly.dll SomeAssembly.dll.orig

4, 使用导出的MSIL和刚创建的KeyFile生成一个新的的DLL文件。

ilasm SomeAssembly.il /dll /key= keyPair.snk

Where do these tools 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

关于什么是强命名(Strong Name)请参考这个: Strong Names Explained

原文地址:https://www.cnblogs.com/DotNetNuke/p/1363813.html