Compartir a través de


Tutorial: Crear archivos DLL satélite administrados

En vs_dev12, los complementos están desusados. Se recomienda actualizar los complementos a las extensiones de VSPackage. Para obtener más información sobre cómo actualizar, vea Preguntas más frecuentes: Convertir complementos en extensiones de VSPackage.

Los archivos DLL satélite son útiles para almacenar archivos de recursos, por ejemplo, iconos, mapas de bits y cadenas de recursos, en una ubicación centralizada para usarlos en complementos y otros proyectos de automatización. Otros proyectos o complementos pueden reutilizar archivos DLL satélite. Además, separar las cadenas y otros recursos del complemento facilita la realización de cambios centralizados o la adaptación de recursos a diferentes idiomas.

En versiones anteriores de Visual Studio se usaban entradas del Registro para SatelliteDllPath y SatelliteDllName. Sin embargo, ahora, las entradas del Registro se han sustituido por entradas en el archivo de registro .addin. Cuando requiera un recurso en el proyecto, cargue el complemento; Visual Studio buscará el archivo DLL satélite en él. Por consiguiente, no tiene que asignar en el código una ruta de acceso al recurso. Además, en lugar de usar el método #id para especificar un identificador de recurso, se usa @resource name (donde resource name es el nombre del recurso; por ejemplo, @Icon1 o @String1). El símbolo @ indica a Visual Studio que debe buscar el recurso en el archivo DLL satélite.

Crear archivos DLL satélite administrados

Los pasos siguientes muestran cómo crear un archivo DLL satélite que contiene recursos de icono y de cadena, y cómo modificar un complemento para que tenga acceso a estos recursos. Se usa un complemento que tiene un cuadro de diálogo Acerca de, que requiere recursos de icono y de cadena. Normalmente, si se crea un complemento que tiene un cuadro de diálogo Acerca de, se proporcionan un icono predeterminado y texto. En los siguientes pasos también se muestra cómo reemplazar el icono predeterminado y el texto con el suyo propio.

Para crear un archivo DLL satélite administrado

  1. En el menú Archivo, haga clic en Nuevo y, a continuación, haga clic en Proyecto.

  2. En el cuadro de diálogo Nuevo proyecto, expanda Otros tipos de proyectos y, a continuación, seleccione Proyectos de extensibilidad.

  3. En el panel Plantillas, seleccione Complemento de Visual Studio.

  4. Siga las indicaciones del Asistente para complementos de Visual Studio. En la página Elección de información para Ayuda - Acerca de, seleccione Sí, me gustaría que mi complemento ofreciera información en el cuadro Acerca de. Acepte los demás valores seleccionados de forma predeterminada.

  5. Haga clic en la opción Agregar referencia del menú Proyecto.

  6. En la ficha .NET, haga clic en System.Drawing y, a continuación, haga clic en Aceptar.

  7. Haga clic en el proyecto de complemento con el botón secundario en el Explorador de soluciones, haga clic en Agregar y, a continuación, haga clic en Nuevo elemento.

  8. Seleccione Archivo de recursos en la lista Plantillas y haga clic en Agregar. Acepte el nombre predeterminado (Resources1.resx).

    De forma predeterminada, se crea un archivo de recursos denominado Resource1.resx y se inicia el Editor de recursos de Visual Studio.

  9. En Resource1.resx, seleccione Iconos en la lista Cadenas (el botón situado más a la izquierda en la parte superior).

  10. En la lista Agregar recurso, haga clic en Agregar nuevo icono. Por ahora, deje el nombre predeterminado (Icon1.bmp) y haga clic en Agregar.

    También puede seleccionar una imagen de mapa de bits existente para el icono, siempre que sea de 16 x 16 píxeles y de 16 colores o Color verdadero.

  11. Una vez que el icono se abra en el Editor de iconos, use las herramientas para modificarlo. Cuando termine, cierre el Editor de iconos y guarde los cambios.

  12. Seleccione Agregar nueva cadena en la lista Agregar recurso.

  13. Haga clic en el primer cuadro de la columna Nombre.

    Se crea un recurso de cadena predeterminado denominado String1.

  14. Escriba Línea uno en el cuadro Valor.

    Éste es el valor para el primer recurso de cadena.

  15. Cree dos recursos de cadena más y llámelos "Línea dos" y "Línea tres".

  16. Cierre el Editor de recursos y guarde los cambios.

  17. En el Explorador de soluciones, haga clic con el botón secundario en Resource1.resx y haga clic en Propiedades.

  18. En la ventana Propiedades, cambie Acción de compilación de Recurso incrustado a Ninguno.

    Esto evita que el recurso se compile en el ensamblado del complemento.

  19. Compile el proyecto.

  20. Cree el archivo DLL de recursos satélite. Esto se hace en un proceso de dos pasos, utilizando ResGen y a continuación AL (herramienta Assembly Linker) para compilar el archivo DLL satélite.

    1. Haga clic en Inicio, en Todos los programas, en Microsoft Visual Studio 2010, en Visual Studio Tools y, a continuación, en Símbolo del sistema de Visual Studio (2010).

      Esto establece ciertas variables de entorno para que pueda hacer referencia más fácilmente a las herramientas de Visual Studio.

    2. En el símbolo del sistema, vaya a la carpeta que contiene el archivo .resx y escriba Resgen Resource1.resx.

      Resgen es una utilidad que compila el archivo .resx especificado en un archivo .resources. Para obtener más información, vea Resgen.exe (Generador de archivos de recursos).

    3. En el símbolo del sistema, escriba AL.exe /embed:Resource1.resources /culture:en-US /out:Add-In Name.resources.dll.

      Reemplace Add-In Name por el nombre del complemento. Por ejemplo, si su proyecto de complemento se denominase MyAddin, el modificador /out: sería /out:MyAddin.resources.dll. El nombre /out: debe coincidir con el nombre del proyecto; de lo contrario, no se encontrará el archivo DLL de recursos.

      AL.exe (herramienta Assembly Linker) convierte el archivo .resources especificado en un archivo DLL al que se puede hacer referencia en el complemento. (Puede cambiar el modificador /culture a un idioma distinto del inglés). Para obtener más información, vea Al.exe (Assembly Linker).

  21. En el Explorador de archivos, examine el directorio de archivos DLL del complemento y cree una carpeta denominada \en-US\ (para inglés de EE.UU., porque escribió en-US como valor de referencia cultural en Al.exe).

  22. Copie el archivo Add-In Name.resources.dll en la nueva carpeta \en-US\.

  23. En el Explorador de archivos, vaya al directorio \Addins \, normalmente ..\Documents and Settings\user name\My Documents\Visual Studio 2010\Addins\.

  24. Modifique el archivo de definición de complemento de Visual Studio como se indica a continuación:

    1. Haga clic con el botón secundario en el archivo de definición del complemento, haga clic en Abrir con y, a continuación, seleccione Bloc de notas.

    2. Reemplace las siguientes etiquetas:

          <FriendlyName>@String1</FriendlyName>
          <Description>@String2</Description>
          <AboutBoxDetails>@String3</AboutBoxDetails>
          <AboutIconData>@Icon1</AboutIconData>
      

      La entrada Friendlyname cambia el nombre del complemento a Line1, que es lo que escribió para String1 en el archivo Resource1.resx. La descripción del cuadro de diálogo Acerca de ahora contiene "Line2" y la entrada AboutIconData coincide con el icono que creó para el cuadro de diálogo Acerca de.

    3. Inserte .resources delante de la extensión del nombre del ensamblado.

  25. Recompile el proyecto y seleccione el complemento en el Administrador de complementos.

  26. En el menú Ayuda, haga clic en el comando Acerca de Microsoft Visual Studio y seleccione Line1 (el nombre del complemento) en la lista.

    Se muestran el icono personalizado y las tres cadenas que creó.

Vea también

Tareas

Cómo: Obtener acceso a los recursos en archivos DLL satélite

Conceptos

Registro de complementos