Handling of lambda expressions in VS 2015 and later
kzumbusch
Posts: 3 New member
Hi guys,
we recently discovered that since upgrading our development environment to Visual Studio 2015 SmartAssembly was no longer able to obfuscate all classes that were successfully obfuscated in our VS 2013 builds. Testing with SmartAssembly 6.11 with extended logging compared to 6.8 we were able to discover that the new compiler in VS 2015 puts lambda expressions used in a class into a nested class called "<>c" (see https://stackoverflow.com/questions/31542076/behavior-of-assembly-gettypes-changed-in-visual-studio-2015). This nested class is marked with the Serializable attribute which blocks obfuscation of the nested class and the parent class.
Is there a way to force SmartAssembly to obfuscate these special nested classes?
Kind regards,
Kay Zumbusch
we recently discovered that since upgrading our development environment to Visual Studio 2015 SmartAssembly was no longer able to obfuscate all classes that were successfully obfuscated in our VS 2013 builds. Testing with SmartAssembly 6.11 with extended logging compared to 6.8 we were able to discover that the new compiler in VS 2015 puts lambda expressions used in a class into a nested class called "<>c" (see https://stackoverflow.com/questions/31542076/behavior-of-assembly-gettypes-changed-in-visual-studio-2015). This nested class is marked with the Serializable attribute which blocks obfuscation of the nested class and the parent class.
Is there a way to force SmartAssembly to obfuscate these special nested classes?
Kind regards,
Kay Zumbusch
Tagged:
Comments
I'm so sorry to say that there isn't a way to force obfuscation at the moment.
We have shared this feedback with our developers though and will let you know if there are any changes to this!
Jessica Ramos | Product Support Engineer | Redgate Software
Have you visited our Help Center?