CodeProject: Securing .NET Release Build

CodeProjectOne of important characteristics of commercial software is ability to trust the software manufacturer by validating authenticity of the software components. Such functionality can be achieved by digital signing of the released code. Another feature usually implemented at the final stage of the development cycle is code obfuscation which is protecting compiled code from unauthorized disassembly. This document describes three security measures / protection levels that should be implemented as last steps of the release build: code obfuscation, .NET strong name signing and Authenticode signing.
Source: Securing .NET Release Build