Caliburn Obfuscation

Topics: Bugs
Feb 20, 2014 at 2:12 PM
Hi everyone,
I created a simple application which has a reference to Caliburn.Micro (WPF45 Version).
After trying to obfuscate the dll or the exe with SmartAssembly my application crashed right away
(I tried several times to configure in different way but no luck).

I know that it's possible to skip of some classes by adding an attribute,
but unfurtanlly my application crashed again.

Does anyone know what should I do?

Thanks in advance.
Feb 20, 2014 at 6:13 PM
Edited Feb 20, 2014 at 6:14 PM
YossiExploiteam wrote:
Does anyone know what should I do?
Stop doing something as useless as running obfuscation tools :-)
May 1, 2014 at 10:09 PM
Make sure you have excluded your View and ViewModel namespaces from obfuscation.

The other problem I encountered was that I was using Caliburn Micro in some libraries, too, and the bootstrappers were instantiating multiple copies of my primary view model if I merged the libraries in with the main executable. I used embedding instead, and it fixed the problem.

After those two steps, it has worked fine.
May 12, 2014 at 8:00 AM
Thank you very much.
I tried to do exactly what you said but no luck.
After trying to build a SmartAssembly project my application keeps crashing.

From where do I need to exclude the View and ViewModel namespaces? From SmartAssembly or from my code?
If you can help me again that would be great.

Thanks again.
May 12, 2014 at 7:13 PM
I do it in SmartAssembly itself, under the Obfuscation section. Click on the Exclusions option next to the assembly that contains the View and ViewModel namespaces. You want to exclude all of the .ViewModels and .Views namespaces.
May 19, 2014 at 11:00 AM
SmartAssembly doesn't try to include reference starting with System. If you turn on self-diagnostic mode (remember to turn it off later), you will most likely find out that you need to copy System.Windows.Interactivity.dll to your target folder.