static int Main(string[] args) {
Environment.CurrentDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
bool verbose = false;
string inFilename = null;
string outFilename = null;
var p = new OptionSet {
{ "v", "Verbose", v => verbose = v != null },
{ "in=", "Input dll file", s => inFilename = s },
{ "out=", "Output JavaScript file. Will be overwritten if already exists", s => outFilename = s },
};
var r = p.Parse(args);
if (inFilename == null || outFilename == null || r.Any()) {
Console.WriteLine("Cil2JsCon");
Console.WriteLine("Convert .NET library to JavaScript");
Console.WriteLine();
Console.WriteLine("Options:");
p.WriteOptionDescriptions(Console.Out);
return 1;
}
var jsResult = Transcoder.ToJs(inFilename, verbose);
var typeMapString = jsResult.TypeMap.ToString();
try {
File.WriteAllText(outFilename, jsResult.Js, Encoding.UTF8);
File.WriteAllText(outFilename + ".typemap", typeMapString);
} catch (Exception e) {
Console.WriteLine("Error:");
Console.WriteLine(e);
}
return 0;
}