Assembly Signing in Managed Extensions for C++
Assemblies are the building blocks of .NET Framework applications; they form the fundamental unit of deployment, version control, reuse, activation scoping, and security permissions. An assembly provides the common language runtime with the information it needs to be aware of type implementations. For details, see Assemblies Overview.
Assemblies can be secured by a process called signing. If you sign your managed code without using delayed signing, the MSIL output includes the path for the signing key. This can create a security issue if the code is distributed externally because the location of the key file is accessible. To prevent this issue, delay sign the assembly in question.