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; }