If you want to sign an assembly, you must have the source code, then you can sign it by creating .Net Module.
1. Create .NetModule
CSC /out:<OutputModule.netmodule> /t:module <CodeFile.cs>
2. Create a Keypair
SN -k <KeyPairFile.snk>
3. Link Keypair with the assembly using Assembly Linker
AL /out:<OutputAssembly.dll> <Module.netModule> /keyfile:<Keyfile.snk>
There is a much simpler and easy way to do this, even if you do not have the source code.
ILMerge is the answer:-
Command:- ILMerge <Input.dll> /keyfile:<myKey.snk> /out:<Output.dll>