03
Dic
Compilar codigo con .NET
Un ejemplo de como compilar codigo fuente usando .NET
Public Function CompileCommands() As String ‘ Creamos un compilador, en este caso para VB Dim compilador As System.CodeDom.Compiler.CodeDomProvider compilador = VBCodeProvider.CreateProvider(“VB”) ‘Definimos parametros para compilar ‘generar en memoria ‘no generar ejecutable (hacer libreria) ‘el nombre del ensamblado y de la clase principal Dim params As New System.CodeDom.Compiler.CompilerParameters() params.GenerateInMemory = True params.GenerateExecutable = False params.OutputAssembly = “commands.dll” params.MainClass = “command” params.IncludeDebugInformation = False ‘ añadimos las referencias que necesitemos params.ReferencedAssemblies.Add(“referencias.exe”) ‘ Añadimos los ensamblados del Dominio actual Dim ASM As System.Reflection.Assembly For Each ASM In AppDomain.CurrentDomain.GetAssemblies() params.ReferencedAssemblies.Add(ASM.Location) Next ‘ Compilamos, en este caso desde un archivo de codigo fuente, ‘ con los parametros establecidos anteriormente. ‘ Nos devuelve una clase con la informacion del resultado de la ‘ operacion Dim Results As System.CodeDom.Compiler.CompilerResults Results = compilador.CompileAssemblyFromFile(params, “commands.vb”) ‘ Si hay errores creamos una cadena de texto para mostrarlos. If Results.Errors.Count > 0 Then Dim strerr As String = “” Next Return strerr End If Return “” End Function










