> ## 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.

# Scripts escritos en lenguajes .NET

> Particularidades del scripting de .NET para ABBYY Scanning Station: requisitos de ensamblados, espacio de nombres ABBYY.ScanStation, directivas using, depuración y pausa de scripts.

Las siguientes consideraciones se aplican a los scripts escritos en lenguajes .NET (C#.NET, JScript.NET y VisualBasic.NET).

<div id="assemblies-and-namespaces">
  ## Ensamblados y espacios de nombres
</div>

* Compile ensamblados de .NET con Microsoft .NET Framework 4.0 o posterior. Especifique la versión de .NET Framework en las propiedades del proyecto de Visual Studio. **Nota.** Para obtener más información sobre el uso de bibliotecas creadas en .NET Framework 2.0, 3.0 y 3.5, consulte [la compatibilidad de ABBYY FlexiCapture con distintas versiones de .NET Framework](http://knowledgebase.abbyy.com/article/1884).
* Agregue ensamblados externos para utilizarlos en scripts y módulos globales. Se admiten tanto los ensamblados estándar como los ensamblados de usuario compilados, y todas sus clases están disponibles en scripts y módulos globales. Para obtener más información, consulte [Ensamblados externos](/es/flexi-capture/scanning-station/shared/scripts/user-assembly-ss).
* Los [objetos de script de Scanning Station](/es/flexi-capture/scanning-station/shared/scripts/objects) se encuentran en el ensamblado `ScanStationInterop.dll` y pertenecen al espacio de nombres `ABBYY.ScanStation`. Este ensamblado se encuentra en la carpeta raíz de Scanning Station.

Se puede acceder a todos los objetos de script de ABBYY Scanning Station por su nombre desde el espacio de nombres `ABBYY.ScanStation`. Por ejemplo:

```csharp theme={null}
ABBYY.ScanStation.IWorkspaceItem activeBatch = Workspace.ActiveBatch;
```

<div id="syntax">
  ## Sintaxis
</div>

Acceda a los elementos del objeto con las palabras clave `Workspace` y `ExportBatch`.

Escriba las directivas `using` al principio del cuerpo del script, junto con los comentarios y las líneas en blanco. Use la misma sintaxis que en el lenguaje de programación (`using` para C#.NET, `Import` para JScript.NET e `Imports` para VisualBasic.NET). Por ejemplo:

```csharp theme={null}
using System.Drawing;
Image img = Image.FromFile( @"D:\2.png" );
```

Puede usar la directiva `using` en el editor de scripts si la palabra clave `using` aparece antes de la primera línea de código ejecutable. Por ejemplo:

```csharp theme={null}
using System.IO;
File.Create(@"C:\sample.txt");
```

<div id="script-execution">
  ## Ejecución de scripts
</div>

* En los scripts de .Net, las funciones de todos los módulos globales se llaman directamente, sin usar el nombre del módulo global.
* Para omitir un parámetro opcional de una función, pase `System.Type.Missing` en su lugar.
* Los objetos de FlexiCapture no admiten multihilo.
* Para pausar un script, use el método `Wait` de la interfaz [IWorkspace](/es/flexi-capture/scanning-station/shared/scripts/workspace). El método estándar `Thread.Sleep` no es suficiente.

<div id="debugging">
  ## Depuración
</div>

* Para depurar scripts de .NET, use el método [System.Diagnostics.Debugger.Break](http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx).
* Al depurar scripts de .NET, también necesita un archivo `.pdb` con información de depuración. Este archivo puede ser muy grande, por lo que debe evitar almacenarlo en el proyecto junto con sus scripts. Al depurar, especifique que el script se compile con información de depuración.
* Si usa Microsoft Visual Studio 2010, puede [adjuntarse al proceso](http://msdn.microsoft.com/en-us/library/vstudio/3s68z0b3\(v=vs.100\).aspx) donde se ejecuta el código .NET.
