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

# Skripte in .NET-Sprachen

> Besonderheiten beim Schreiben von Scanning Station-Skripten in C#.Net, VisualBasic.Net und JScript.Net.

Wenn Sie Skripte in .NET-Sprachen schreiben, gibt es einige Unterschiede zu VBScript und JScript.

<div id="accessing-objects">
  ## Zugriff auf Objekte
</div>

Verwenden Sie die Schlüsselwörter `Workspace` und `ExportBatch`, um auf Objektelemente von Scanning Station zuzugreifen.

<div id="framework-and-assemblies">
  ## Framework und Assemblies
</div>

* Kompilieren Sie .NET-Assemblies mit **.NET Framework 4.0 oder höher**. Legen Sie das Zielframework in den Projekteigenschaften Ihres Visual-Studio-Projekts fest.
* Sie können externe Assemblies — standardmäßige oder selbst kompilierte — hinzufügen, und jede enthaltene Klasse steht dann in Skripten und globalen Modulen zur Verfügung. Siehe [Externe Assemblies](/de/vantage/documentation/scanning-station/admin/external-assemblies).
* Scanning Station-Objekte unterstützen kein Multithreading.

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

* Verwenden Sie die Methode [`System.Diagnostics.Debugger.Break`](http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx), um in den Debugger zu wechseln.
* Zum Debuggen wird außerdem eine `.pdb`-Datei mit Debuginformationen benötigt. Diese Dateien können sehr groß sein — wir empfehlen, sie außerhalb des Projekts zu speichern. Stellen Sie sicher, dass das Skript mit eingeschlossenen Debuginformationen kompiliert wird. In Microsoft Visual Studio können Sie sich [an den Prozess anhängen](http://msdn.microsoft.com/en-us/library/vstudio/3s68z0b3\(v=vs.100\).aspx), in dem der .NET-Code ausgeführt wird.

<div id="using-directives">
  ## `using`-Direktiven
</div>

Sie können Direktiven im Stil von `using` am Anfang eines Skripts zusammen mit Kommentaren und Leerzeilen platzieren. Die Syntax entspricht der jeweiligen Sprache:

* **C#.Net:** `using`
* **JScript.Net:** `Import`
* **VisualBasic.Net:** `Imports`

Zum Beispiel in C#.Net:

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

<Note>
  Eine `using`-Direktive funktioniert nur, wenn sie vor der ersten Zeile ausführbaren Codes steht. Zum Beispiel:

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

<div id="functions-and-optional-parameters">
  ## Funktionen und optionale Parameter
</div>

* Funktionen aus globalen Modulen werden in .NET-Skripten direkt aufgerufen — Sie müssen ihnen keinen Präfix mit dem Namen des globalen Moduls voranstellen.
* Um einen optionalen Parameter zu überspringen, übergeben Sie stattdessen `System.Type.Missing`.

<div id="related-topics">
  ## Verwandte Themen
</div>

* [Skripte verwenden](/de/vantage/documentation/scanning-station/admin/using-scripts)
* [Externe Assemblies](/de/vantage/documentation/scanning-station/admin/external-assemblies)
* [In Ereignisskripten verfügbare Objekte](/de/vantage/documentation/scanning-station/admin/available-objects)
* [Administratormodus](/de/vantage/documentation/scanning-station/admin/admin-mode)
