# -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.

## Syntax

-delaysign[ + | - ]


## Arguments

+ | -

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-.

## Remarks

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

The -delaysign and -publicsign options are mutually exclusive.

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. That operation creates a digital signature which 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.