DeployLX Software Protection System

Troubleshooting Obfuscation Problems

Obfuscation involves renaming types, methods, properties and other meta-data in an Assembly. The .NET Framework and its classes often use the names of classes to relate resources and objects with each other, when this naming scheme is broken it can cause problems at runtime. DeployLX CodeVeil does a pretty good job at analyzing and maintaining these relationships when performing obfuscation. On occasion you will need to help CodeVeil by specifically excluding certain members from obfuscation.

The first step in diagnosing an obfuscation issue is to disable obfuscation but leave other options enabled.

To disable Obfuscation

  1. Open your project in the DeployLX Manager.
  2. Scroll to the Obfuscation & Renaming Settings section.
  3. Uncheck Rename types, methods, properties and fields.

Re-test your application. If problems persist see the Troubleshooting Other Problems topic for instructions on contacting customer service.

If disabling obfuscation completely has resolved the issue you will now need to isolate the specific members that are causing the problem. If your project has multiple assemblies, re-enable each assembly until you have identified the specific assembly that is causing the problem. At this point you may want to review the Planning a Project to be Protected topic for general guidance on project configurations.

After you've identified the assembly responsible you will need to selectively disable specific classes and members from obfuscation until the problem is resolved. Start with serializable classes and those used in reflection, continuing to auto-generated classes like The Resources and Settings classes in the *.Properties namespace.

To disable a specific member from obfuscation

  1. Select the problem assembly from the list in the Project Editor.
  2. Select Properties from the CodeVeil tab of the ribbon.
  3. Select Member Overrides from Assembly Tools tab of the ribbon.
  4. Exclude specific members from obfuscation.

Alternatively, use the Obfuscate compile time attribute to change obfsucation settings in your source.

Re-test your application. If you are unable to identify the specific member you will need to contact customer service. See the Troubleshooting Other Problems topic for instructions on contacting customer service.

See Also