Troubleshooting

"Assembly has already been obfuscated by Demeanor"

Your build pipeline is running obfuscation twice. Ensure <Obfuscate> is only set for the final build step.

Reflection breaks at runtime

typeof(MyClass) is safe — it compiles to a metadata token that tracks renames automatically. The problem is string-based reflection: Type.GetType("MyClass"), Activator.CreateInstance("MyClass"), and similar APIs. Exclude those types with [Obfuscation(Exclude = true)] or --exclude.

Serialization/deserialization fails

Types serialized to JSON, XML, or binary depend on property names. Exclude with [Obfuscation(Exclude = true, ApplyToMembers = true)].

WinForms designer or data binding breaks

WinForms uses reflection extensively. Exclude form types: --xr ".*Form$".

Build fails with expired Enterprise license

Your Enterprise subscription has expired. The build fails to prevent you from unknowingly shipping builds with reduced protection. Either renew your subscription or remove the license key from your project to build in Community tier (renaming only).

Output assembly crashes at runtime

Contact [email protected] with the error details.