我如何签署一个已经内置到dll特定flute.dll的程序集

25 asp.net dll assembly-signing visual-studio-2008

我想签署DLL的原因是因为我想将它添加到全局程序集缓存中.程序集是一个用Java编写并移植到J#的css解析引擎.我使用VS2008所以我不能制作J#项目.它没有分配给它的强名称密钥,我现在不知道如何构建它.

有人有主意吗?

PJ8*_*PJ8 44

经过一番搜索,我发现这篇文章解释了一种做法.

Exerpt:

在VS.NET命令提示符下,输入以下内容:

  1. 生成KeyFile: sn -k keyPair.snk
  2. 获取提供的程序集的MSIL: ildasm providedAssembly.dll /out:providedAssembly.il
  3. 重命名/移动原始程序集:ren provideAssembly.dll提供了 assembly.dll.orig
  4. 从MSIL输出和程序集KeyFile创建一个新程序集: ilasm providedAssembly.il/dll/key = keyPair.snk

  • 链接坏了.以下是(可能)相同信息的替代来源,可通过Google找到:http://www.geekzilla.co.uk/ViewCE64BEF3-51A6-4F1C-90C9-6A76B015C9FB.htm (5认同)

Jer*_*y E 18

第1步:拆卸组件

ildasm myTest.dll /out:myTest.il 
Run Code Online (Sandbox Code Playgroud)

第2步:使用强名称密钥重新组装

ilasm myTest.il /res:myTest.res /dll /key:myTest.snk /out:myTestSN.dll 
Run Code Online (Sandbox Code Playgroud)

要进行验证,您可以使用以下命令:

sn -vf myTestSN.dll
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!