/delaysign (C# Compiler Options)

This option causes the compiler to reserve space in the output file so that a digital signature can be added later.

/delaysign[ + | - ]


  • + | -
    Use /delaysign- if you want a fully signed assembly. Use /delaysign+ if you only want to place the public key in the assembly. The default is /delaysign-.


The /delaysign option has no effect unless used with /keyfile or /keycontainer.

When you request a fully signed assembly, the compiler hashes the file that contains the manifest (assembly metadata) and signs that hash with the private key. The resulting digital signature is stored in the file that contains the manifest. When an assembly is delay signed, the compiler does not compute and store the signature, but reserves space in the file so the signature can be added later.

For example, using /delaysign+ allows a tester to put the assembly in the global cache. After testing, you can fully sign the assembly by placing the private key in the assembly using the Assembly Linker utility.

For more information, see Creating and Using Strong-Named Assemblies and Delay Signing an Assembly.

To set this compiler option in the Visual Studio development environment

  1. Open the Properties page for the project.

  2. Modify the Delay sign only property.

For information on how to set this compiler option programmatically, see DelaySign.

See Also

Other Resources

C# Compiler Options

Project Properties (Visual Studio)