Exemplo n.º 1
0
        public static bool CompileVisualBasic(
            IEnumerable <string> sourceFiles,
            string outputPath,
            IEnumerable <string> references,
            IEnumerable <KeyValuePair <string, object> > defines,
            out List <string> messages
            )
        {
            VB.VisualBasicCompilation compilation =
                CreateVisualBasicCompilation(
                    sourceFiles,
                    Path.GetFileName(outputPath),
                    references,
                    defines,
                    out messages
                    );

            // compile and write results
            var result = compilation.Emit(outputPath);

            foreach (var diag in result.Diagnostics)
            {
                messages.Add(diag.ToString());
            }

            return(result.Success);
        }
Exemplo n.º 2
0
        public static bool CompileVisualBasic(
            IEnumerable <string> sourceFiles,
            string outputPath,
            IEnumerable <string> references,
            IEnumerable <KeyValuePair <string, object> > defines,
            bool debug,
            out List <string> messages
            )
        {
            VB.VisualBasicCompilation compilation =
                CreateVisualBasicCompilation(
                    sourceFiles,
                    Path.GetFileName(outputPath),
                    references,
                    defines,
                    debug,
                    out messages
                    );

            // compile and write results
            EmitResult result;

            if (debug)
            {
                string pdbName = Path.Combine(
                    Path.GetDirectoryName(outputPath),
                    Path.GetFileNameWithoutExtension(outputPath) + ".pdb"
                    );
                result = compilation.Emit(outputPath, pdbName);
            }
            else
            {
                result = compilation.Emit(outputPath);
            }

            foreach (var diag in result.Diagnostics)
            {
                messages.Add(diag.ToString());
            }

            return(result.Success);
        }