Generar ejemplos de controles de servidor personalizados

Actualización: noviembre 2007

En este tema se describe cómo compilar los ejemplos de controles personalizados en un ensamblado y utilizar los controles en páginas Web ASP.NET. También se explica cómo utilizar la carpeta App_Code de un sitio Web ASP.NET para probar el código de los controles sin compilarlos.

Crear el ensamblado de un control

Para crear y compilar los controles personalizados en un ensamblado

  1. Cree una carpeta para los archivos de código fuente de los controles personalizados y las clases relacionadas.

  2. Cree un archivo de texto con la extensión de lenguaje correspondiente para cada ejemplo que desee compilar.

    Por ejemplo, cree un archivo denominado MailLink.cs para el código de C# del control MailLink que se proporciona en Ejemplo de representación de controles Web.

  3. Copie el código fuente de cada ejemplo, péguelo en el archivo de texto correspondiente y guarde el archivo.

  4. Ejecute el comando siguiente desde la carpeta de código fuente para compilar los controles y las clases relacionadas en un ensamblado.

    csc /t:library /out:Samples.AspNet.CS.Controls.dll /r:System.dll 
    /r:System.Web.dll /r:System.Design.dll *.cs
    
    vbc /t:library /out:Samples.AspNet.VB.Controls.dll /r:System.dll 
    /r:System.Web.dll /r:System.Design.dll *.vb
    

    La opción /t:library del compilador indica a éste que debe crear una biblioteca (en lugar de un ensamblado ejecutable). La opción /out proporciona un nombre para el ensamblado y la opción /r muestra los ensamblados que están vinculados al mismo.

    Nota:

    Si no puede ejecutar el comando del compilador, debe agregar la ruta de acceso de la instalación de .NET Framework a la variable PATH de Windows antes de ejecutar el comando. En Windows, haga clic con el botón secundario del mouse (ratón) en Mi PC, haga clic en Propiedades, haga clic en la ficha Avanzadas y, a continuación, haga clic en el botón Variables de entorno. En la lista Variables del sistema, haga doble clic en la variable Path. En el cuadro de texto Valor de variable, agregue un punto y coma (;) al final de los valores existentes en el cuadro de texto y, a continuación, escriba la ruta de acceso de su instalación de .NET Framework. Generalmente .NET Framework está instalado en el directorio de instalación de Windows en \Microsoft.NET\Framework\versionNumber.

  5. Vuelva a ejecutar el comando de compilación del paso 4 cada vez que agregue nuevos archivos de código fuente a la carpeta de código fuente o cambie los existentes.

Crear un sitio Web ASP.NET

Para crear el sitio Web ASP.NET

  1. Cree un sitio Web ASP.NET mediante Servicios de Internet Information Server (IIS) o cualquier otra herramienta.

  2. Para obtener información sobre la creación y configuración de un directorio virtual de IIS, vea Cómo: Crear y configurar directorios virtuales en IIS 5.0 y 6.0.

    Nota:

    Si desea utilizar IIS, instálelo antes de instalar .NET Framework SDK.

  3. Cree una carpeta Bin bajo la carpeta raíz del sitio Web.

  4. Copie en la carpeta Bin del sitio Web el ensamblado que ha creado en el procedimiento anterior.

    Nota:

    Si vuelve a compilar el ensamblado del control (el paso final de la sección anterior) debe volver a copiar el nuevo ensamblado en la carpeta Bin del sitio Web.

  5. Cree un archivo de texto denominado Web.config en la carpeta raíz del sitio Web, agregue el siguiente formato XML a dicho archivo y, a continuación, guárdelo.

    <?xml version="1.0"?>
    <configuration>
      <system.web>
        <compilation debug="true"/>
        <pages>
          <controls>
            <add tagPrefix="aspSample" 
              namespace="Samples.AspNet.CS.Controls" 
              assembly="Samples.AspNet.CS.Controls" >
            </add>
          </controls>
        </pages>
      </system.web>
    </configuration>
    
    <?xml version="1.0"?>
    <configuration>
      <system.web>
        <compilation debug="true"/>
        <pages>
          <controls>
            <add tagPrefix="aspSample" 
              namespace="Samples.AspNet.VB.Controls" 
              assembly="Samples.AspNet.VB.Controls" >
            </add>
          </controls>
        </pages>
      </system.web>
    </configuration>
    
  6. Agregue un archivo de texto con la extensión .aspx a la carpeta raíz del sitio Web para cada ejemplo que desee probar.

    Por ejemplo, cree un archivo denominado MailLinkTest.aspx para la página de prueba del control MailLink que se proporciona en Ejemplo de representación de controles Web.

  7. Copie el código fuente de la página de prueba de cada ejemplo, péguelo en el archivo .aspx correspondiente y guarde el archivo.

  8. Solicite las páginas .aspx en un explorador Web.

    Por ejemplo, si el sitio Web se denomina ServerControls e incluye una página denominada MailLinkTest.aspx, escriba la siguiente dirección URL en la barra de direcciones del explorador:

    https://localhost/ServerControls/MailLinkTest.aspx
    

Utilizar la carpeta App_Code para probar los controles

Puede utilizar la función de compilación dinámica de ASP.NET 2.0 para probar controles sin compilarlos manualmente en un ensamblado.

Para colocar los controles en la carpeta App_Code

  1. Cree una carpeta App_Code bajo la carpeta raíz del sitio Web.

  2. Copie los archivos de código fuente de los controles y las clases relacionadas en la carpeta App_Code.

  3. Si previamente ha agregado a la carpeta Bin un ensamblado para el control, elimínelo.

    Nota:

    Puede compilar previamente un control en un ensamblado y colocar el ensamblado en la carpeta Bin o colocar el archivo de código fuente del control en la carpeta App_Code. Si agrega el control a ambas carpetas, el analizador de páginas no podrá resolver una referencia al control en una página y producirá un error.

  4. Cambie la entrada de la sección controls del archivo Web.config por la entrada resaltada siguiente, que asigna el espacio de nombres del control a un prefijo de etiqueta:

    <controls>
      <add tagPrefix="aspSample"     namespace="Samples.AspNet.CS.Controls">..</add>
    </controls>
    
    <controls>
      <add tagPrefix="aspSample"     namespace="Samples.AspNet.VB.Controls">..</add>
    </controls>
    

    Para obtener más información, vea @ Register.

  5. Solicite las páginas .aspx en un explorador Web.

Si coloca los archivos de código fuente de las clases QuickContacts y ContactCollectionEditor de Ejemplo de propiedad Collection de controles Web en la carpeta App_Code, también debe agregar una referencia al ensamblado System.Design en la sección compilation del archivo Web.config. Esta referencia requiere el nombre completo del ensamblado System.Design. La información necesaria para el nombre completo se puede obtener ejecutando la Herramienta Caché de ensamblados global (Gacutil.exe) que se distribuye con .NET Framework SDK, mediante la sintaxis siguiente:

gacutil /l System.Design
Nota:

Para ejecutar la Herramienta Caché de ensamblados global (Gacutil.exe) desde la línea de comandos, la variable de entorno PATH de Windows del equipo debe incluir la ruta de acceso a la instalación de .NET Framework. En Windows, haga clic con el botón secundario del mouse en Mi PC, haga clic en Propiedades, haga clic en la ficha Avanzadas y, a continuación, haga clic en el botón Variables de entorno. En la lista Variables del sistema, haga doble clic en la variable Path. En el cuadro de texto Valor de variable, agregue un punto y coma (;) al final de los valores existentes en el cuadro de texto y, a continuación, escriba la ruta de acceso a su instalación de .NET Framework. Generalmente .NET Framework está instalado en el directorio de instalación de Windows en \Microsoft.NET\Framework\versionNumber.

La etiqueta que se agrega a la sección compilation del archivo Web.config es similar a la sección resaltada del ejemplo siguiente. Sin embargo, debe reemplazar los valores de los atributos Version y PublicKeyToken por los valores devueltos por la herramienta Gacutil.exe.

<compilation >
  <assemblies>    <add assembly="System.Design, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />    </assemblies>
</compilation>
Nota:

Si está utilizando un entorno de desarrollo integrado, el diseñador puede proporcionar una técnica más sencilla para agregar una referencia de ensamblado al archivo Web.config. Por ejemplo, en Visual Studio 2005, si hace clic con el botón secundario del mouse en el nombre del sitio Web en el Explorador de soluciones y hace clic en la opción Agregar referencia del menú contextual, puede utilizar un cuadro de diálogo que le permite seleccionar el ensamblado que se va a agregar. Cuando seleccione el ensamblado, el diseñador agregará automáticamente la entrada pertinente al archivo Web.config.

Vea también

Tareas

Tutorial: Desarrollar y utilizar un control de servidor personalizado

Otros recursos

Desarrollar controles de servidor ASP.NET personalizados