public static void CreateMetaDataTypescript()
        {
            //TODO Arash: How to add this file to output.
            var                  fileToCompile    = @"C:\Users\u045992\source\repos\AngularTsGenerator\Generator\TypeScripter\TypeScript\TypeScriptObject\ValidatorModelBase.cs";
            var                  source           = File.ReadAllText(fileToCompile);
            var                  parsedSyntaxTree = Parse(source, "", CSharpParseOptions.Default.WithLanguageVersion(LanguageVersion.CSharp5));
            var                  compilation      = CSharpCompilation.Create("Test.dll", new SyntaxTree[] { parsedSyntaxTree }, DefaultReferences, DefaultCompilationOptions);
            Scripter             scripter         = new Scripter(compilation);
            GetAllSymbolsVisitor visitor          = new GetAllSymbolsVisitor(scripter);

            visitor.Visit(compilation.Assembly.GlobalNamespace);
            scripter.SaveToDirectory(@"c:\temp\TypeScriptOutput");
        }
        public static void Open()
        {
            Compilation compilation;
            var         msWorkspace = MSBuildWorkspace.Create();

            msWorkspace.WorkspaceFailed += (object sender, WorkspaceDiagnosticEventArgs e) =>
            {
                Debug.WriteLine(e.Diagnostic.ToString());
            };
            string solutionPath = @"C:\Users\u045992\source\Projects\TestedLibrary\TestedLibrary.sln";

            try
            {
                var solution = msWorkspace.OpenSolutionAsync(solutionPath).Result;


                var proj = solution.Projects.Single(p => p.Name == "TargetLibrary");


                compilation = proj.GetCompilationAsync().Result;

                //CreateMetaDataTypescript();
                var typeByMetadataName = compilation.GetTypeByMetadataName(typeof(Guid).FullName);

                Scripter scripter = new Scripter(compilation);
                scripter.TypeFilter = t => t.Name != "IExtensibleDataObject" && t.Name != "ClientBase";
                scripter.WithTypeMapping(new TsExternalReference(nameof(DayOfWeek), "TypeScriptModels.ts"),
                                         typeof(DayOfWeek));
                GetAllSymbolsVisitor visitor = new GetAllSymbolsVisitor(scripter);
                visitor.Visit(compilation.Assembly.GlobalNamespace);
                scripter.SaveToDirectory(@"c:\temp\TypeScriptOutput");
            }
            catch (Exception)
            {
            }
        }