• Not sure that SQLCLR helps here, there's always ILDASM to assist the exceptionally curious.

    Even if you obfuscate your .NET code, or even put the real secret stuff in an unmanaged dll, if your code can really turn lead into gold, then someone will disassemble it. Assuming, of course, that your code is so clever that disassembly is faster than implementing something functionally equivalent from scratch.

    IMV, this kind of thing has its place as a "defence" against customers, but not against (determined) competitors. If the fact that your code is obfuscated is a source of frustration to your customers, then there is a case to be made for reviewing this policy - if the dissatisfaction generated outweighs the benefits of obfuscating, then why bother? And why do your customers want to see your source code? Is your app not working as well as it should? I know I have used many third-party components over the years, without being the slightest bit interested in their inner workings, as long as they reliably do what they say on the tin.