Traducción: Mono.Addins – Localización de Complementos por defecto

Introducción

Este artículo es una traducción del original disponible en [1], las licencias aplicadas al original se aplican a esta traducción.

mono-logo

La traducción

Mono.Addins incorpora un modelo flexible para indicar donde deberían estar los complementos (add-ins). Por defecto, los complementos están en dos rutas:

  • En la carpeta donde está el ejecutable de la aplicación, es decir, dónde está en .exe.
  • En la carpeta ‘addins’, que es la ruta de registro de los complementos.

Por ejemplo, si una aplicación está instalada en ‘/usr/lib/MiAplicacion/inicio.exe’, y la aplicación inicializa el motor de complementos tal que así:

   1:  AddinManager.Initialize("[ApplicationData]/MiAplicacion");

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Entonces los complementos se buscaran por defecto es:

  1. /usr/lib/MiAplicacion
  2. ApplicationData/MiApplication/addins

Incluyendo carpetas de complementos

Se pueden añadir rutas para la búsqueda de complementos utilizando el archivo .addins. Un archivo .addins es una archivo XML que se ve tal que así:

   1:  <Addins>
   2:     <Directory>/alguna/carpeta</Directory>
   3:     <Directory include-subdirs="true">/alguna/carpeta</Directory>
   4:     <Directory>../ruta/relativa/carpeta</Directory>
   5:     <Exclude>alguna/carpeta</Exclude>
   6:  </Addins>

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Cuando un registro está buscando complementos en una carpeta y encuentra un archivo .addins, lo analizará sintácticamente y de manera recursiva buscará en las carpetas declaradas, que a su vez incluirán archivos .addins. La etiqueta Directory se usa para declarar nuevas carpetas, esta búsqueda no es recursiva por defecto, para activar la búsqueda recursiva utilizamos el atributo include-subdirs. La etiqueta Exclude se usa para no buscar en una carpeta determinada, puede ser una ruta o un archivo.

Anuncios
A %d blogueros les gusta esto: