2008-11-14 8 views

Répondre

10

Pour compiler un fichier à la volée, vous aurez besoin de faire quelque chose le long de ces lignes (où SourceCode est une chaîne containg le code à compiler):

CodeDomProvider codeProvider = new CSharpCodeProvider(); 
ICodeCompiler compiler = codeProvider.CreateCompiler(); 

// add compiler parameters 
CompilerParameters compilerParams = new CompilerParameters(); 
compilerParams.CompilerOptions = "/target:library /optimize"; 
compilerParams.GenerateExecutable = false; 
compilerParams.GenerateInMemory = true;   
compilerParams.IncludeDebugInformation = false; 
compilerParams.ReferencedAssemblies.Add("mscorlib.dll"); 
compilerParams.ReferencedAssemblies.Add("System.dll"); 

// compile the code 
CompilerResults results = compiler.CompileAssemblyFromSource(compilerParams, sourceCode); 
4

Vous pouvez le compiler raisonnablement facilement en utilisant le CSharpCodeProvider. Vous pouvez télécharger le code source de mon compilateur d'extraits, Snippy, à partir du C# in Depth web site. Cela utilise CSharpCodeProvider, donc vous pouvez l'utiliser comme exemple de code.

Questions connexes