ConfuserEx
ConfuserEx copied to clipboard
New Project Format
To support the feature requires in #23 and #24 it will be required to rework the project files. It is important that ConfuserEx will still be able to load the current project files to maintain proper backwards compatibility.
Required features:
-
Extended pattern - The pattern of the current system are good but at times miss leading. Things like
is-publicdoesn't actually trigger on public members, but it triggers on members that are visible outside of the assembly, unless the current assembly is a executable, where it doesn't trigger at all. Things like this have to be cleaned up. - Flexible file references - Currently the project format only allows assemblies to be set as file. For the assembly it can be set, if the assembly is just a reference or of the assembly is subject to the protection. The new format should allow multiple formats such as assemblies, archives and utility files (to support references from utility files for project like NHibernate) and it should support hierarchical file references to allow referencing files inside archive or to support embedded reference files from projects like Costura.
- No more presets - Presets will be removed, because they are not sufficiently flexible. ConfuserEx 2 will still contain presets, but more different presets for specific use cases (for executables, for libraries, for cross-platform projects) and these will populate the project with specific settings, but the settings will be stored directly in the project file and not the reference to the preset. This will allow more complex configurations to be stored in the presets, including specific options for the different settings.
Thats the plan to get started. More ideas are welcome. :wink:
The difference regarding what format is currently used will be done based on the namespace and the names of the XML tags. The new format simply gets a new namespace.