C# 如何防止dotfuscator中所有类、接口的重命名

C# 如何防止dotfuscator中所有类、接口的重命名,c#,c#-4.0,obfuscation,dotfuscator,C#,C# 4.0,Obfuscation,Dotfuscator,我正在跟踪一个MSDN网站,使用VS免费提供的dotfuscator对我的c代码进行模糊处理 在我的C#项目中,我使用了依赖注入(Castle.Windsor),因此我的应用程序在混淆后崩溃 我正在考虑不重命名我的任何类和接口名,包括构造函数,但让它们的方法、变量重命名可以解决问题。我正在尝试在dotfuscator中为此设置排除规则,但仍然无法这样做 您能告诉我们如何设置排除规则,防止类和接口名称及其构造函数重命名,但让它们的方法和变量在dotfuscator中重命名吗?我正在使用VS2015

我正在跟踪一个MSDN网站,使用VS免费提供的dotfuscator对我的c代码进行模糊处理

在我的C#项目中,我使用了依赖注入(Castle.Windsor),因此我的应用程序在混淆后崩溃

我正在考虑不重命名我的任何类和接口名,包括构造函数,但让它们的方法、变量重命名可以解决问题。我正在尝试在dotfuscator中为此设置排除规则,但仍然无法这样做

您能告诉我们如何设置排除规则,防止类和接口名称及其构造函数重命名,但让它们的方法和变量在dotfuscator中重命名吗?我正在使用VS2015附带的dotfuscator。

提供了有关如何重命名排除项的一般说明。听起来,在这种情况下,您应该添加一个类型排除。这将只排除类型本身(及其构造函数),而不排除任何方法/字段/属性。类型排除也适用于接口

如果要排除所有类型和接口,可以将排除规则标记为正则表达式规则,只需使用
*
匹配所有名称。如果试图仅排除类型的子集,请小心指定完全限定名

您可以使用“预览”按钮查看要排除的内容。(请注意,构造函数不会显示为被排除,但在构建时它们实际上会被排除。)

最后,有更多关于这些特性如何工作的详细信息,因此查看这些特性可能也会有所帮助。在大多数情况下,Pro和Community的功能是相同的


充分披露:我为先发制人的解决方案工作。

谢谢内森。实际上,在我的解决方案和许多类中有5个库和2个exe项目。似乎排除规则解决了一些问题,但出现了另一个问题,因为有许多类被多个项目使用。看来我需要找到所有需要排除的类,所以这个方法在我的例子中似乎有点麻烦。因此,我决定对每个库和exe使用“库模式”。现在,它似乎正在发挥作用。“库模式”适用于这种情况吗?库模式会自动排除程序集中的所有公共成员,因此这可能是您的库所需要的。这对于可执行文件也很好,但是您可能会以较少的重命名结束。如果是这样,您可以禁用库模式并对这些程序集使用手动排除。