mkaring / ConfuserEx

An open-source, free protector for .NET applications
https://mkaring.github.io/ConfuserEx/
MIT License
2.31k stars 353 forks source link

Add BlockingReferences test (failing for now) that reveals #379 #398

Closed KvanTTT closed 2 years ago

KvanTTT commented 3 years ago

Potentially fixed by #385

AppVeyorBot commented 3 years ago

:x: Build ConfuserEx 851 failed (commit https://github.com/mkaring/ConfuserEx/commit/c04ea1dd28 by @KvanTTT)

AppVeyorBot commented 3 years ago

:x: Build ConfuserEx 853 failed (commit https://github.com/mkaring/ConfuserEx/commit/85b170a39b by @KvanTTT)

KvanTTT commented 3 years ago

@mkaring do have any idea how to fix it?

mkaring commented 2 years ago

Okay, so I found the reason why this is breaking. The issue is the way the renamer processes different assemblies. It does that currently in sequence and there is nothing I can do about that for now. What it needs to do is process all assemblies at once so it can rename the members in proper sequence.

This can't be done without some major reworking. So I "fixed" this, by having ConfuserEx detect this issue and blocking the renaming for all members affected by it. This fix is now in #425 That is the best I can come up with right now.

A better solution would be to delay the renaming for parts of an assembly until after another assembly has been processed.