- Are you using the latest version of Dotfuscator?
- Are all third-party assemblies excluded from obfuscation?
- Build Errors
- Runtime Errors
Are you using the latest version of Dotfuscator?
You may be encountering an issue that has already been fixed!
Are all third-party assemblies excluded from obfuscation?
If you are processing a package that contains third-party assemblies, we generally recommend that you do not obfuscate the third-party assemblies themselves.
Go to the Dotfuscator User Guide and visit the Excluding or including package assemblies from processing section to learn how to exclude these third-party assemblies.
Dotfuscator can’t find a reference assembly?
- Run from the command line with
/v /e /bindlog=truefor additional info about where Dotfuscator is looking.
- Add missing paths to the User Defined Assembly Load Path in the Dotfuscator config XML or through the Dotfuscator GUI's Settings Tab.
Get a Dotfuscator Stack Trace
In the case of Dotfuscator errors, get a Dotfuscator stack trace by running from the command line with options
Is the application signed/resigned properly?
Read the Signing section of the Dotfuscator User Guide's Settings Tab page for more information.
Which transform is causing the problem?
Try to determine which transform is causing the problem:
- Does it work when all obfuscation transforms are turned off?
- Does it work with Library Mode enabled on all input assemblies?
- Does it work with Transform XAML turned off on all input assemblies?
- Runtime errors are almost always related to Renaming:
- Dependency Properties: are the property and all backing methods excluded from renaming?
- Does it work with the Property Exclusion Catch-All custom rule?
<type name=".\*" regex="true"> <propertymember name=".\*" regex="true"/> </type>
Check the Warnings Tab
Are all of the warnings on the Warnings tab accounted for?
_If_ your Dotfuscator build resulted in warnings, you will see them on their own tab in the Build Output section at the bottom of the standalone GUI.
Catch Runtime Exceptions
Catch runtime exceptions and display them in a message box to see what is actually going wrong.