The /target compiler option can be specified in one of four forms:
Unless you specify /target:module, /target causes a NGWS assembly manifest to be placed in an output file. See Global Attributes for information on how to specify assembly attributes.
The assembly manifest is placed in the first .exe output file in the compilation or in the first .dll, if there is no .exe output file. For example, in the following command line, the manifest will be placed in 1.exe
:
csc /out:1.exe t1.cs /out:2.exe t2.cs
The compiler creates only one assembly manifest per compilation. Information about all files in a compilation is placed in the assembly manifest. All output files except those created with /target:module can contain an assembly manifest. When producing multiple output files at the command line, only one assembly manifest can be created and it must go into the first output file specified on the command line. If the first output file is an exe (/target:exe or /target:winexe) or code library (/target:library), then any other output files produced in the same compilation must be modules (/target:module).
The C# compiler can only produce .dlls or .exes.