Mono.TextTemplating.TemplatingEngine.GenerateCode C# (CSharp) Метод

GenerateCode() публичный статический Метод

public static GenerateCode ( ITextTemplatingEngineHost host, ParsedTemplate pt, Mono.TextTemplating.TemplateSettings settings, CodeCompileUnit ccu ) : System.Reflection.Assembly
host ITextTemplatingEngineHost
pt ParsedTemplate
settings Mono.TextTemplating.TemplateSettings
ccu System.CodeDom.CodeCompileUnit
Результат System.Reflection.Assembly
		public static System.Reflection.Assembly GenerateCode (ITextTemplatingEngineHost host, ParsedTemplate pt, 
		                                                       TemplateSettings settings, CodeCompileUnit ccu)
		{
			CompilerParameters pars = new CompilerParameters ();
			pars.GenerateExecutable = false;
			
			if (settings.Debug) {
				pars.GenerateInMemory = false;
				pars.IncludeDebugInformation = true;
				pars.TempFiles.KeepFiles = true;
			} else {
				pars.GenerateInMemory = true;
				pars.IncludeDebugInformation = false;
			}

			//resolve and add assembly references
			HashSet<string> assemblies = new HashSet<string> ();
			assemblies.UnionWith (settings.Assemblies);
			assemblies.UnionWith (host.StandardAssemblyReferences);
			foreach (string assem in assemblies) {
				string resolvedAssem = host.ResolveAssemblyReference (assem);
				if (!String.IsNullOrEmpty (resolvedAssem)) {
					pars.ReferencedAssemblies.Add (resolvedAssem);
				} else {
					pt.LogError ("Could not resolve assembly reference '" + assem + "'");
					return null;
				}
			}
			CompilerResults results = settings.Provider.CompileAssemblyFromDom (pars, ccu);
			pt.Errors.AddRange (results.Errors);
			if (pt.Errors.HasErrors)
				return null;
			return results.CompiledAssembly;
		}