Похоже что новый Dotfuscator должен поддерживать WPF, см статьи на сайте разработчика:
- Dotfuscator 4.7.1000 with WPF obfuscation support
- Dotfuscator 4.8.1000 with XAML obfuscation support
Но Dotfuscator, который входит в состав MS Visual Studio 2010, WPF полностью не поддерживает. Например, в моём проекте, есть окно с CommandBindings:
<Window ...> <Window.CommandBindings> <CommandBinding Command="{x:Static local:MainWindow.TextFilterCommand}" Executed="ExecuteTextFilter" CanExecute="CanTextFilter" /> <CommandBinding Command="{x:Static local:MainWindow.ClearTextFilterCommand}" Executed="ExecuteClearTextFilter" CanExecute="CanClearTextFilter" /> <CommandBinding Command="{x:Static local:MainWindow.TextFilterUseRegexCommand}" Executed="ExecuteTextFilterUseRegex" CanExecute="CanAlwaysTrue" /> </Window.CommandBindings> <Window.InputBindings> <KeyBinding Key="R" Modifiers="Ctrl" Command="{x:Static local:MainWindow.TextFilterUseRegexCommand}" /> </Window.InputBindings> ... </Window>
так вот для них в проекте Dotfuscator-а пришлось явно прописывать исключения:
после чего всё заработало, хотя, как видно, CE не умеет переименовывать Generic Classes.