我使用Confuserex混淆我的代码,它使用.net 4.5。在编译后,除了combobox的行为(我在项目中拥有的所有winforms )之外,一切看起来都很好。组合框现在显示的是id,而不是下拉列表中的值。(在调试模式下的visual studio以及发布模式下的构建中,这些程序运行得非常好)。
在混乱中,我试着把预设设定为侵略性,最大限度.但无论我使用哪种预置,问题都是一样的。
没有将任何代码放在这里,因为代码本身没有问题。这很可能是Confuserex中的一个问题。
这是一个已知的问题,是否存在解决办法?如果需要进一步的帮助,请告诉我。
发布于 2016-07-08 14:15:09
没有办法给你一个单一的答案,但也许我可以引导你朝着正确的方向前进:
在最近在Winforms构建后事件中实现ConfuserEx时,我发现一些第三方控件没有正确地显示数据,或者根本没有显示数据。就像你一样,我把预设从好斗改为正常,但没有效果。然后我去把一些绑定数据的方法从混淆中排除在外。它在某些情况下缓解了这个问题,特别是在数据网格视图和列表框上。在这些控件中,我收到了一些奇怪的故障,比如额外的列、空的单元格(底层对象中有数据)等。
所有的赌注都是对第三方控制的混淆-你永远不会知道他们是否会玩球。有时,您也会在.Net控件中体验到这一点。混淆和反思也不合拍。也许可以检查组合框数据绑定技术,并从正在填充数据的方法(如果没有其他的话)中消除混淆。这当然是,如果你能忍受这种方法暴露。有一种方法可以做到:
[System.Reflection.Obfuscation(Exclude = true)]
public void MethodYouDontWantToObfuscate()
{
//Your method code
}发布于 2016-08-15 14:59:48
直到刚才,我在WPF上也遇到了类似的问题。
我们的组合物品在他们自己的班级里。为了解决这个问题,我补充说
[System.Reflection.Obfuscation(Exclude = true)]在类声明的前面(就像MoSSBerG建议的那样),现在每件事都很有魅力。
https://stackoverflow.com/questions/37853033
复制相似问题