> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ensamblados externos

> Añada ensamblados externos de .NET a los scripts de Scanning Station y a los módulos globales, llame a clases desde el código del script y depure ensamblados con archivos de símbolos .pdb.

Puede utilizar ensamblados externos en scripts y módulos globales. Se pueden usar tanto ensamblados estándar como ensamblados de usuario compilados.

<div id="add-an-external-assembly">
  ## Agregar un ensamblado externo
</div>

Agregue ensamblados externos en la pestaña **Scripts** del cuadro de diálogo **Propiedades del tipo de lote** o en **Herramientas → Opciones...**. Todas las clases y los métodos de los ensamblados que agregue estarán disponibles para los scripts y los módulos globales.

Los ensamblados que agregue a las propiedades de un tipo de lote o de una Definición de Document solo estarán disponibles para ese tipo de lote o esa Definición de Document.

<Steps>
  <Step title="Abra el cuadro de diálogo Referencias">
    Abra el cuadro de diálogo **Propiedades del proyecto**, haga clic en la pestaña **Scripts** y, a continuación, en **Referencias .Net...**.
  </Step>

  <Step title="Agregue el ensamblado">
    En el cuadro de diálogo que se abre, haga clic en **Agregar...**.
  </Step>

  <Step title="Elija el tipo de ensamblado">
    En el cuadro de diálogo **Agregar ensamblado**, seleccione **Archivo adjunto** o **Nombre de ensamblado estándar** en el campo de tipo.
  </Step>

  <Step title="Especifique el ensamblado">
    Según el tipo seleccionado, especifique la ruta del archivo o el nombre estándar.
  </Step>
</Steps>

Este ensamblado de usuario de ejemplo contiene un espacio de nombres, una clase y un método de esa clase:

```csharp theme={null}
namespace TestNameSpace
{
public class Test
    {
    public void Show(string text)
       {
      // muestra un mensaje de texto con el método estático Show(string text) de la clase System.Windows.Forms.MessageBox
System.Windows.Forms.MessageBox.Show(text);
       }
    }
}
```

Un script que usa una clase y métodos de un ensamblado externo contiene el siguiente código:

```csharp theme={null}
TestNameSpace.Test test = new TestNameSpace.Test(); // crea un objeto de la clase Test
test.Show("Hello world"); // llama al método void Show() de la clase Test
```

<div id="debug-external-assemblies">
  ## Depurar ensamblados externos
</div>

Para depurar ensamblados externos, se necesitan tanto el archivo del ensamblado como el archivo `.pdb` con información simbólica. Solo se pueden depurar los ensamblados que tengan cargados archivos `.pdb`. Como los archivos `.pdb` son grandes, desactive la carga de información simbólica en el proyecto de trabajo.

<div id="registry-keys-that-control-loading-symbolic-information">
  ### Claves del registro que controlan la carga de información simbólica
</div>

Use las siguientes claves del registro para especificar si se deben cargar archivos `.pdb`:

* `HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script [LoadSymbolsFromOriginalPath]` – Especifica si se deben cargar archivos `.pdb` desde la misma carpeta que el ensamblado. Para cargar archivos `.pdb`, establezca el valor en `True`.
* `HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script [PDBSearchLocations] = <ruta a la carpeta con archivos PDB>` – Especifica las rutas de búsqueda de los archivos `.pdb`. Separe las rutas con punto y coma. La búsqueda devuelve un archivo `.pdb` con información simbólica cuyo nombre coincide con el del ensamblado.

Estas claves no existen en el registro de forma predeterminada. Si es necesario, el Administrador puede agregarlas al registro del sistema operativo del usuario.

Para aplicar los cambios en el registro, reinicie Scanning Station.

Para depurar un ensamblado, conéctese al código administrado.
