/简体中文 /
/英文软件 /
/简体中文 /
/英文软件 /
/简体中文 /
/简体中文 /
当用强名称键对DLL或exe文件进行签名时,.NET不允许您修改它。如果您尝试使用已签名的程序集,在使用十六进制编辑器或任何其他工具进行了一些更改之后,您将得到以下异常:
在system.windows.forms.dll附加信息中发生了一个未处理的‘System.IO.FileLoadException’类型异常:程序集‘MyAssembly.Test’的强名称验证失败。
如果在对签名的可执行文件进行了一些更改后尝试运行它,您将得到以下错误消息:
程序集的字符串名称验证失败.文件可能已被篡改,或已部分签名,但未用正确的私钥完全签名。
此实用工具从.NET exe和DLL文件中删除对强名称签名的引用。删除强名称引用后,可以在DLL/exe文件中进行任何更改,而不会收到任何异常或错误消息。但是,请注意,没有强名称引用的程序集不能添加到全局程序集缓存(GAC)中。
使用SNRemove非常简单--只需将snemove.exe解压缩到任何您喜欢的文件夹,并使用所需的命令行参数从命令提示符中运行它。
SNRemove[Options]
备选方案:
-r从指定的文件中删除对强名称签名的引用。
-d显示指定文件的强名称签名。
参数也可能包含通配符。
例子:
SNRemove-rc:\myfiles\dll1.dll
SNRemove-d“c:\my files\*.dll”