从 3rd 方组件中删除强名称?

Remove the strong name from 3rd party assemblies?

如何从我没有源代码的第 3 方程序集中删除强名称,可能使用 ilasm/ildasm(因为可以 add a strong name using ilasm/ildasm)?

一般来说,这似乎是可能的,因为 this tool 似乎可以做到这一点。

用工具帮你搞定,手动搞定会很费时间,既然有工具那又何必再造轮子?

我个人从未使用过 SNRemove,但这里列出了我通常使用的工具:


编辑:simple-assembly-explorer/SimpleAssemblyExplorer.Core/Assembler/Assembler.cs - 这个 class 应该让您了解如何从强名称程序集中删除强名称键

这是为了删除强名称验证,而不是删除强名称签名,但是搜索强名称验证错误似乎会转到此问题,因此这并非无关紧要。

sn.exe 可用于禁用强名称验证(sn.exe 可通过 visual studio 开发人员命令提示符访问)

要对具有给定 public 密钥令牌的所有程序集禁用强名称验证:

sn.exe -Vr *,<public key hex token>

或使用任何 public 键禁用对所有程序集的验证:

sn.exe -Vr *,*