12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- using System;
- using System.IO;
- using Microsoft.CSharp;
- using System.CodeDom.Compiler;
- using System.Reflection;
- namespace csharp_tests
- {
- public class CodeCompiler
- {
- protected CSharpCodeProvider compiler = new CSharpCodeProvider();
- protected CompilerParameters compiler_parameters;
- public CodeCompiler()
- {
- this.compiler_parameters = new CompilerParameters
- {
- WarningLevel = 0,
- GenerateExecutable = false,
- GenerateInMemory = true/*,
- OutputAssembly = "Assembly.dll"*/
- };
- }
- public void AddReferencedAssembly(string name)
- {
- this.compiler_parameters.ReferencedAssemblies.Add(name);
- }
-
- public Assembly compileFile(string file)
- {
- Assembly returnAssembly = null;
- try
- {
- CompilerResults results = this.compiler.CompileAssemblyFromFile(compiler_parameters, file);
- returnAssembly = results.CompiledAssembly;
-
- foreach (string output in results.Output)
- {
- Console.WriteLine(output);
- }
- }
- catch (Exception exception)
- {
- Console.WriteLine(exception.Message);
- }
- return returnAssembly;
- }
- }
- }
|