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

# In .NET-Sprachen geschriebene Skripte

> .NET-Skripting-Besonderheiten für ABBYY Scanning Station: Assembly-Anforderungen, ABBYY.ScanStation-Namespace, `using`-Direktiven, Debugging und Anhalten von Skripten.

Für Skripte, die in .NET-Sprachen (C#.NET, JScript.NET und VisualBasic.NET) geschrieben wurden, gelten die folgenden Hinweise.

<div id="assemblies-and-namespaces">
  ## Assemblies und Namespaces
</div>

* Kompilieren Sie .NET-Assemblies mit Microsoft .NET Framework 4.0 oder höher. Geben Sie die .NET-Framework-Version in den Visual Studio-Projekteigenschaften an. **Hinweis.** Einzelheiten zur Verwendung von Bibliotheken, die in .NET Framework 2.0, 3.0 und 3.5 erstellt wurden, finden Sie unter [ABBYY FlexiCapture compatibility with different versions of the .NET Framework](http://knowledgebase.abbyy.com/article/1884).
* Fügen Sie Externe Assemblies hinzu, um sie in Skripten und globalen Sprachmodulen zu verwenden. Es werden sowohl Standard-Assemblies als auch kompilierte Benutzer-Assemblies unterstützt, und alle ihre Klassen sind in Skripten und globalen Sprachmodulen verfügbar. Weitere Informationen finden Sie unter [External assemblies](/de/flexi-capture/scanning-station/shared/scripts/user-assembly-ss).
* [Scanning Station script objects](/de/flexi-capture/scanning-station/shared/scripts/objects) befinden sich in der Assembly `ScanStationInterop.dll` und gehören zum Namespace `ABBYY.ScanStation`. Diese Assembly befindet sich im Stammordner von Scanning Station.

Auf alle Skriptobjekte von ABBYY Scanning Station kann über ihre eigenen Namen aus dem Namespace `ABBYY.ScanStation` zugegriffen werden. Zum Beispiel:

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

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

Greifen Sie mit den Schlüsselwörtern `Workspace` und `ExportBatch` auf Elemente von Objekten zu.

Platzieren Sie `using`-Direktiven zusammen mit Kommentaren und Leerzeilen am Anfang des Skriptkörpers. Verwenden Sie dieselbe Syntax wie in der Programmiersprache (`using` für C#.NET, `Import` für JScript.NET und `Imports` für VisualBasic.NET). Zum Beispiel:

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

Sie können im Skripteditor die `using`-Direktive verwenden, wenn das Schlüsselwort `using` vor der ersten Zeile des ausführbaren Codes steht. Zum Beispiel:

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

<div id="script-execution">
  ## Skriptausführung
</div>

* In .NET-Skripten werden Funktionen aus allen Sprachmodulen direkt aufgerufen, ohne den Namen des globalen Moduls zu verwenden.
* Wenn Sie den Wert eines optionalen Parameters der function nicht angeben möchten, müssen Sie stattdessen `System.Type.Missing` übergeben.
* FlexiCapture-Objekte unterstützen kein Multithreading.
* Um ein Skript zu pausieren, verwenden Sie die `Wait`-Methode der [IWorkspace](/de/flexi-capture/scanning-station/shared/scripts/workspace)-Schnittstelle. Die Standardmethode `Thread.Sleep` reicht nicht aus.

<div id="debugging">
  ## Debuggen
</div>

* Zum Debuggen von .NET-Skripten wird die Methode [System.Diagnostics.Debugger.Break](http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx) verwendet.
* Beim Debuggen von .NET-Skripten benötigen Sie außerdem eine `.pdb`-Datei mit Debuginformationen. Diese Datei kann sehr groß sein, speichern Sie sie daher nicht zusammen mit Ihren Skripten im Project. Geben Sie beim Debuggen an, dass das Skript mit Debuginformationen kompiliert wird.
* Wenn Sie Microsoft Visual Studio 2010 verwenden, können Sie [eine Verbindung mit dem Prozess herstellen](http://msdn.microsoft.com/en-us/library/vstudio/3s68z0b3\(v=vs.100\).aspx), in dem der .NET-Code ausgeführt wird.
