-i: Input file(s); proto definitions, either as text or pre-compiled binary (via protoc)
-o: Output file; if none specified, writes to stdout
-t: Template to use; defaults to csharp
-p: Property for the template; value defaults to true; use -p:help to view available options
-q: Quiet; suppresses header
-d: Include all dependencies of the input files in the set so the set is self-contained.
-ns: Default namespace; used in code generation when no package is specified