¿Cómo compilar CodeCompileUnit a partir del código fuente?¿Cómo compilar CodeCompileUnit a partir del código fuente?
¿Cuál es la mejor manera de analizar un código fuente de C#?
¿Es CodeCompileUnit la selección correcta? y cómo?
Gracias
¿Cómo compilar CodeCompileUnit a partir del código fuente?¿Cómo compilar CodeCompileUnit a partir del código fuente?
¿Cuál es la mejor manera de analizar un código fuente de C#?
¿Es CodeCompileUnit la selección correcta? y cómo?
Gracias
Tienes que al revés, no es CodeCompileUnit a generar código fuente. Si ya tiene el código fuente, solo necesita una clase que herede CodeDomProvider para compilar el código. Como Microsoft.CSharp.CSharpCodeProvider o Microsoft.VisualBasic.VBCodeProvider.
Hay algunas probabilidades que usted está preguntando sobre analizando un archivo de código fuente existente. Eso es lo que se pretendía hacer System.CodeDom.Compiler.CodeParser. No hay implementaciones concretas existentes de esa clase abstracta, nunca habrá ninguna. Esto blog post explica por qué.
Su pregunta es un poco vaga. ¿Estás buscando un tutorial? ¿Tiene una tarea específica que está tratando de implementar? Las preguntas específicas son la esencia de Stackoverflow. Aparte de eso, sólo voy a dar algunos lugares que pueden ser útiles para empezar:
Puede hacerlo con CodeSnippetCompileUnit que es una subclase de CodeCompileUnit:
string source = @"
using System;
namespace SomeNamespace
{
public class Class0
{
}
}";
var csu0 = new CodeSnippetCompileUnit(curSource);
Información adicional:
Si tiene varias unidades que puede ponerlos juntos para generar un ensamblado:
CodeDomProvider provider = new CSharpCodeProvider();
CompilerResults results = provider.CompileAssemblyFromDom(new CompilerParameters(), csu0, csu1 /*arbitrary number*/);
Por supuesto, es posible que las clases de todos estos CodeSnippetCompileUnit se refieran entre sí.
De su pregunta, no es realmente lo que quiere lograr ... ¿necesita compilar algún código C# y luego ejecutarlo y/o guardarlo (como .dll o .exe)? – Yahia