Obfuscate public members of DLL files

tstutststuts Posts: 3
edited February 5, 2015 6:40AM in SmartAssembly
I'm aware that "SmartAssembly does not obfuscate public members of DLL files, because the DLL would be unusable." But is there an option to force SmartAssembly to obfuscate everything except what I exclude, like it does for an executable?


  • Options
    Jessica RJessica R Posts: 1,319 Rose Gold 4
    Hi there,

    I'm afraid there isn't an option to force obfuscation. We do have a feature request to add an attribute to force it (reference SA-1569) and I've +1'd it on your behalf.

    My apologies as I know this isn't the answer you were hoping for!

    Jessica Ramos | Product Support Engineer | Redgate Software

    Have you visited our Help Center?

  • Options
    Thanks for the reply. At least I know I'm not missing something obvious. I was able to work around the issue for now.
  • Options
    I admire your work jessica.ramos !
  • Options

    Any news on SA-1569 ?

    I am working on obfuscating a .NET solution where a few assemblies are merged into facade so that the facade will expose only a few selected types to clients. I need to obfuscate everything in merged assemblies except the types explicitly excluded.

    SA documentation (http://documentation.red-gate.com/display/SA6/Troubleshooting+name+mangling) mentions KeepPublicMembersAccessible (former ExcludePublicMembers) attribute, but unfortunately it is not fully documented.

    Would this be a correct usage of KeepPublicMembersAccessible attribute?
    <Assembly AssemblyName="MyAssembly, Culture=neutral, PublicKeyToken=*****">
      <Merging Merge="1">
        <Obfuscation Obfuscate="1" KeepPublicMembersAccessible="0" />

    Will it cause the effect I need (obfuscating public members)?

  • Options
    I realize this is an older question, but is the status unchanged?  Is there now (2021) a way to obfuscate public members by default with the possibility to not obfuscate items when needed?
Sign In or Register to comment.