Exemplo n.º 1
0
        private string GetAssemblyName(CommonCompilationArguments arguments)
        {
            var fileName = arguments.OutputFileName;

            return(fileName.EndsWith(".dll", StringComparison.OrdinalIgnoreCase)
                ? fileName.Substring(0, fileName.Length - 4)
                : fileName);
        }
        private static CompilerParameters CorrectedParamaters(CompilerParameters parameters)
        {
            if (parameters.OutputAssembly == null)
            {
                string fileName = Path.GetFileName(parameters.TempFiles.BasePath);
                string str      = parameters.GenerateExecutable ? ".exe" : ".dll";
                parameters.OutputAssembly = "OutputAssembly_" + fileName + str;
            }
            Type typeFromHandle = typeof(CSharpCodeProvider);

            CommonCompilationArguments.FixTreatWarningsAsErrors(parameters, typeFromHandle);
            return(parameters);
        }
Exemplo n.º 3
0
        internal override Microsoft.CodeAnalysis.Compilation CreateCompilation(CommonCompilationArguments arguments, IEnumerable <SyntaxTree> syntaxTrees)
        {
            var provider = new DesktopStrongNameProvider(arguments.CmdArguments.KeyFileSearchPaths);
            var cSharpCompilationOptions = ((CSharpCommandLineArguments)arguments.CmdArguments)
                                           .CompilationOptions
                                           .WithAssemblyIdentityComparer(DesktopAssemblyIdentityComparer.Default)
                                           .WithStrongNameProvider(provider);

            return(CSharpCompilation.Create(GetAssemblyName(arguments),
                                            syntaxTrees
                                            .Where(tree => tree != null),
                                            arguments.MetadataReferences, cSharpCompilationOptions));
        }
Exemplo n.º 4
0
        internal Compilation CreateCompilation(CommonCompilationArguments arguments, IEnumerable <SyntaxTree> syntaxTrees, TextWriter outputWriter)
        {
            Compilation result;

            try
            {
                result = this.CreateCompilation(arguments, syntaxTrees);
            }
            catch (Exception ex)
            {
                outputWriter?.WriteLine(GetErrorOutput(null, string.Format(Res.Internal_Compiler_Error, ex.Message)));
                result = null;
            }
            return(result);
        }
Exemplo n.º 5
0
 internal abstract Compilation CreateCompilation(CommonCompilationArguments arguments, IEnumerable <SyntaxTree> syntaxTrees);