Dotfuscator Quick Start Guide

Troubleshooting

General

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.

Build Errors

Dotfuscator can’t find a reference assembly?

Get a Dotfuscator Stack Trace

In the case of Dotfuscator errors, get a Dotfuscator stack trace by running from the command line with options /v /e.

Runtime Errors

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.

Dotfuscator Version 4.28.0.4985. Copyright © 2017 PreEmptive Solutions, LLC