protected Configuration CreateConfigurationBlock(Config ConfigBlock, string AssemblyName, string OuputType) { Configuration ConfObj = new Configuration(); CodeGeneration CodeGenObj = new CodeGeneration(); Execution ExecutionObj = new Execution(); Output OutputObj = new Output(); ConfObj.runwithwarnings = "False"; ConfObj.name = ConfigBlock.Name; // CodeGenObj member population CodeGenObj.runtime = "MsNet"; CodeGenObj.compiler = "Csc"; CodeGenObj.warninglevel = ConfigBlock.WarningLevel; CodeGenObj.nowarn = ""; CodeGenObj.includedebuginformation = (ConfigBlock.DebugSymbols == true) ? CodeGenerationIncludedebuginformation.True : CodeGenerationIncludedebuginformation.False; CodeGenObj.optimize = (ConfigBlock.Optimize == true) ? "True" : "False"; if (ConfigBlock.AllowUnsafeBlocks == true) { CodeGenObj.unsafecodeallowed = CodeGenerationUnsafecodeallowed.True; } else { CodeGenObj.unsafecodeallowed = CodeGenerationUnsafecodeallowed.False; } if (ConfigBlock.CheckForOverflowUnderflow == true) { CodeGenObj.generateoverflowchecks = "True"; } else { CodeGenObj.generateoverflowchecks = "False"; } CodeGenObj.mainclass = ""; CodeGenObj.target = OuputType; CodeGenObj.generatexmldocumentation = "False"; CodeGenObj.win32Icon = ""; // ExecutionObj member population ExecutionObj.commandlineparameters = ""; ExecutionObj.consolepause = "True"; // OutputObj member population OutputObj.directory = ConfigBlock.OutputPath.Replace("\\", "/"); OutputObj.assembly = AssemblyName; OutputObj.executeScript = ""; OutputObj.executeBeforeBuild = ""; OutputObj.executeAfterBuild = ""; ConfObj.CodeGeneration = CodeGenObj; ConfObj.Execution = ExecutionObj; ConfObj.Output = OutputObj; return ConfObj; }
protected SolutionItemConfiguration CreateConfigurationBlock (MonoDevelop.Projects.DotNetProject project, Config ConfigBlock, string AssemblyName, string OuputType, IProgressMonitor monitor) { DotNetProjectConfiguration confObj = project.CreateConfiguration (ConfigBlock.Name) as DotNetProjectConfiguration; confObj.RunWithWarnings = false; confObj.DebugMode = ConfigBlock.DebugSymbols; project.CompileTarget = (CompileTarget) Enum.Parse (typeof(CompileTarget), OuputType, true); string dir = MapPath (project.BaseDirectory, ConfigBlock.OutputPath); if (dir == null) { dir = Path.Combine ("bin", ConfigBlock.Name); monitor.ReportWarning (string.Format (GettextCatalog.GetString ("Output directory '{0}' can't be mapped to a local directory. The directory '{1}' will be used instead"), ConfigBlock.OutputPath, dir)); } confObj.OutputDirectory = dir; confObj.OutputAssembly = AssemblyName; CSharpCompilerParameters compilerParams = new CSharpCompilerParameters (); compilerParams.WarningLevel = ConfigBlock.WarningLevel; compilerParams.NoWarnings = ""; compilerParams.Optimize = ConfigBlock.Optimize; compilerParams.DefineSymbols = ConfigBlock.DefineConstants; compilerParams.UnsafeCode = ConfigBlock.AllowUnsafeBlocks; compilerParams.GenerateOverflowChecks = ConfigBlock.CheckForOverflowUnderflow; return confObj; }