AddThis Social Bookmark Button
AddThis Feed Button
Bio
Mi avatar Blog de un pequeño informaticú y sus ocurrencias y pequeñas notas de ayuda.
Citas
Loading Quotes...
100_9939
100_9938
100_9937
100_9936
100_9935
Categorias
links
03
Dic

Compilar codigo con .NET

(QR Code)

Un ejemplo de como compilar codigo fuente usando .NET

  1. Public Function CompileCommands() As String
  2. ' Creamos un compilador, en este caso para VB
  3. Dim compilador As System.CodeDom.Compiler.CodeDomProvider
  4. compilador = VBCodeProvider.CreateProvider("VB")
  5. 'Definimos parametros para compilar
  6. 'generar en memoria
  7. 'no generar ejecutable (hacer libreria)
  8. 'el nombre del ensamblado y de la clase principal
  9. Dim params As New System.CodeDom.Compiler.CompilerParameters()
  10. params.GenerateInMemory = True
  11. params.GenerateExecutable = False
  12. params.OutputAssembly = "commands.dll"
  13. params.MainClass = "command"
  14. params.IncludeDebugInformation = False
  15. ' añadimos las referencias que necesitemos
  16. params.ReferencedAssemblies.Add("referencias.exe")
  17. ' Añadimos los ensamblados del Dominio actual
  18. Dim ASM As System.Reflection.Assembly
  19. For Each ASM In AppDomain.CurrentDomain.GetAssemblies()
  20. params.ReferencedAssemblies.Add(ASM.Location)
  21. Next
  22. ' Compilamos, en este caso desde un archivo de codigo fuente,
  23. ' con los parametros establecidos anteriormente.
  24. ' Nos devuelve una clase con la informacion del resultado de la
  25. ' operacion
  26. Dim Results As System.CodeDom.Compiler.CompilerResults
  27. Results = compilador.CompileAssemblyFromFile(params, "commands.vb")
  28. ' Si hay errores creamos una cadena de texto para mostrarlos.
  29. If Results.Errors.Count > 0 Then
  30. Dim Err As System.CodeDom.Compiler.CompilerError
  31. Dim strerr As String = ""
  32. For Each Err In Results.Errors
  33. strerr = strerr & Err.ErrorNumber & ": [" & Err.Line & "] " & Err.ErrorText & vbCrLf
  34. Next
  35. Return strerr
  36. End If
  37. Return ""
  38. End Function


Nadie ha comentado (aun...)

No hay comentarios

Quieres dejar un comentario?