Estoy compilando clases en tiempo de ejecución usando la clase CodeDomProvider
. Esto funciona bien para las clases solamente utilizando el System
espacio de nombres:CompilerParameters.ReferencedAssemblies - Agregar referencia a System.Web.UI.WebControls
using System;
public class Test
{
public String HelloWorld()
{
return "Hello World!";
}
}
Si intento compilar una clase usando System.Web.UI.WebControls
sin embargo, me sale este error:
{error CS0006: Metadata file 'System.Web.UI.WebControls' could not be found} System.CodeDom.Compiler.CompilerError
un fragmento de mi código aquí:
var cp = new CompilerParameters();
cp.ReferencedAssemblies.Add("System.Web.UI.WebControls");
¿Cómo hago referencia al espacio de nombres System.Web.UI.WebControls
?
No funciona para mí. ¿Crees que debería proporcionar el camino completo al conjunto? En caso afirmativo; ¿cómo podría hacer eso dinámicamente? – roosteronacid
Ah, System.Web.UI.WebControls.dll no existe; las clases en ese espacio de nombres viven en System.Web.dll. –