public void generate()
        {
            var root = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"WebApi");
            var builder = new TypeScriptBuilder(root,"apiModule");
            builder.AddReference("typings/tsd.d.ts");

            var ts = builder.GenerateClientApi(typeof (RequestResponseController), "Demo.Api","http://demo/api/");
            Debug.WriteLine("File generated: {0}",(object)ts);
        }
        private bool ProcessAssembly(string pathToAssembly, TypeScriptGeneratorOptions options)
        {
            if (!File.Exists(pathToAssembly))
            {
                Console.WriteLine("File {0} not found", pathToAssembly);
                return false;
            }

            Console.WriteLine("Processing {0}", pathToAssembly);

            try
            {
                var controllers = LoadControllers(pathToAssembly);

                if (!controllers.Any())
                {
                    Console.WriteLine("No controllers found");
                    return false;
                }

                foreach (var controller in controllers)
                {
                    Console.WriteLine("...analyzing {0}", controller.FullName);
                    try
                    {
                        var builder = new TypeScriptBuilder(options.DestFolder, options.NgModule);
                        foreach (var reference in options.References)
                        {
                            builder.AddReference(reference);
                        }

                        var pathToTs = builder.GenerateClientApi(controller, options.Namespace, options.ApiRoot);
                        Console.WriteLine("...written {0}", pathToTs);
                    }
                    catch (Exception ex)
                    {
                        DumpError(ex);
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex is ReflectionTypeLoadException)
                {
                    var typeLoadException = ex as ReflectionTypeLoadException;
                    var loaderExceptions = typeLoadException.LoaderExceptions;
                    foreach (var le in loaderExceptions)
                    {
                        DumpError(le);
                    }
                }
                else
                {
                    DumpError(ex);
                }
                return false;
            }

            return true;
        }