我正在关注MSDN站点https://msdn.microsoft.com/en-us/library/hh977082(v=vs.107).aspx,使用VS.提供的免费dotfuscator混淆我的c#代码。
在我的c#项目中,我使用了依赖注入(Castle.Windsor),所以我的应用程序在混淆后崩溃了。
我正在考虑不重命名任何我的类和接口名称,包括构造函数,但让他们的方法,变量重命名将解决这个问题。我试图在dotfuscator中设置排除规则,但仍然无法这样做。
你能告诉我们如何设置排除规则,以防止重命名类和接口名称及其构造函数,但让他们的方法和变量在dotfuscator重命名?我使用的是VS2015自带的dotfuscator
Dotfuscator Community Edition的重命名文档给出了如何进行这样的重命名排除的一般说明。听起来,在这种情况下,您应该添加类型排除。这将只排除类型本身(及其构造函数),而不排除任何方法/字段/属性。类型排除也适用于接口。
如果您试图排除所有类型和接口,您可以将排除规则标记为正则表达式规则,并仅使用.*
来匹配所有名称。如果您试图排除类型的一个子集,请注意指定完全限定的名称。
您可以使用预览按钮查看将被排除的内容。(注意,构造函数不会显示为被排除,但在构建时它们实际上会被排除。)
最后,关于按类型排除的Pro文档有更多关于这些特性如何工作的细节,所以它可能也会有所帮助。在大多数情况下,Pro和Community之间的功能是相同的。
完全披露:我在PreEmptive Solutions工作