private void Dispose(bool disposing) { if (disposing) { _provider.Dispose(); } }
public ICompilerResult Compile() { CompilerParameters options = new CompilerParameters(); if (_target != null) { AddCompilerOption("/target:" + _target); } if (_platform != null) { AddCompilerOption("/platform:" + _platform); } //options.GenerateExecutable = _generateExecutable; options.GenerateExecutable = IsTargetExecutable(_target); options.GenerateInMemory = _generateInMemory; options.IncludeDebugInformation = _debugInformation; // WarningLevel : from http://msdn.microsoft.com/en-us/library/13b90fz7.aspx // 0 Turns off emission of all warning messages. // 1 Displays severe warning messages. // 2 Displays level 1 warnings plus certain, less-severe warnings, such as warnings about hiding class members. // 3 Displays level 2 warnings plus certain, less-severe warnings, such as warnings about expressions that always evaluate to true or false. // 4 (the default) Displays all level 3 warnings plus informational warnings. options.WarningLevel = _warningLevel; options.OutputAssembly = _outputAssembly; options.CompilerOptions = _compilerOptions; //foreach (string assembly in _referencedAssemblies) foreach (ReferencedAssembly assembly in _referencedAssemblies) { options.ReferencedAssemblies.Add(assembly.File); } foreach (ResourceFile resource in _embeddedResources) { options.EmbeddedResources.Add(resource.File); } CodeDomProvider provider = new JScriptCodeProvider(); CompilerResults result = provider.CompileAssemblyFromFile(options, _sources.ToArray()); provider.Dispose(); return(new CodeDomProviderCompilerResult(result)); }