Dotfuscator加密
1.安装程序Dotfuscator
2.简单来说,针对的revit二次开发很容易出现加密完就不能跑的情况, 其实原因就是 有些继承与iExternalCommand或iExternalApplication的类因为没被调用,所以被加密软件给混淆或者删除了
3.解决方案就是单独设置Command和Ribbon,使他不被删除或混淆
要注意:
(1).要注意,在加密软件的过程中出现的任何错误最好都配合dnSpy这种反编译软件去相互验证
(2).要注意,当在DLL下勾选Library时,该DLL下的所有public的方法、属性、类都不会被Rename
(3).要注意,Removal的意思是,将没被调用到的类、方法、属性删除(只对非Library的DLL生效)。所以,当你加密非Library的DLL时,要谨慎,防止 “看过去” 没被调用却实际有被调用的类、方法、属性被删除
(4).要注意,HTTP接收的相关的Model类,不能被Rename(如果Http接收的Model类的属性被Rename了,那HTTP接口返回的字符串,用JsonConvert肯定就不能正确反序列化了)
(5).按第(4)条注意事项推理,和本地XML文件、配置文件、SQLite等交互的Model类,也不能被Rename