我了解签署程序集背后的基本思想,但在使用 Telerik 或第二方 DLL 时遇到问题。我有一个使用我自己的 2 个 .DLL 的 .exe,这些 DLL 又使用企业库 DLL 和 Telerik DLL。
我给我的所有项目起了一个强名称 .snk,但是在编译时编译器解释说,例如,企业库 DLL 没有签名,这是有道理的。
我不想使用 te sn.exe -Vr 命令关闭验证,甚至不想延迟签署我的项目。但是,这将如何运作?我很感激任何见解。
我了解签署程序集背后的基本思想,但在使用 Telerik 或第二方 DLL 时遇到问题。我有一个使用我自己的 2 个 .DLL 的 .exe,这些 DLL 又使用企业库 DLL 和 Telerik DLL。
我给我的所有项目起了一个强名称 .snk,但是在编译时编译器解释说,例如,企业库 DLL 没有签名,这是有道理的。
我不想使用 te sn.exe -Vr 命令关闭验证,甚至不想延迟签署我的项目。但是,这将如何运作?我很感激任何见解。
签署/辞职第三方程序集很不方便,但不是火箭科学。假设您想使用 default.snk 键对 System.ComponentModel.Composition.dll 之类的未签名 dll 进行签名:
打开 VS 命令提示符并使用未签名的 dll cd 到您的文件夹
ildasm /all /out=System.ComponentModel.Composition.il System.ComponentModel.Composition.dll ilasm /dll /key=default.snk System.ComponentModel.Composition.il del System.ComponentModel.Composition.il
在每个适用的 VS 项目中,删除并添加对已签名程序集 System.ComponentModel.Composition.dll 的引用
是的,很有可能。
以下是步骤。