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); }
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)); }
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); }
internal abstract Compilation CreateCompilation(CommonCompilationArguments arguments, IEnumerable <SyntaxTree> syntaxTrees);