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

# Externe Assemblies

> Fügen Sie externe .NET-Assemblies zu Scanning Station-Skripten und Sprachmodulen hinzu, rufen Sie Klassen aus Skriptcode auf und debuggen Sie Assemblies mithilfe von .pdb-Symboldateien.

Sie können externe Assemblies in Skripten und Sprachmodulen verwenden. Dabei funktionieren sowohl Standard- als auch kompilierte Benutzer-Assemblies.

<div id="add-an-external-assembly">
  ## Eine externe Assembly hinzufügen
</div>

Fügen Sie externe Assemblies auf der Registerkarte **Skripte** im Dialogfeld **Batch-Typ-Eigenschaften** oder unter **Tools → Options...** hinzu. Alle Klassen und Methoden der Assemblies, die Sie hinzufügen, stehen Skripten und Sprachmodulen zur Verfügung.

Assemblies, die Sie zu den Eigenschaften eines Batch-Typs oder einer Document Definition hinzufügen, stehen nur für diesen Batch-Typ bzw. diese Document Definition zur Verfügung.

<Steps>
  <Step title="Das Dialogfeld „References“ öffnen">
    Öffnen Sie das Dialogfeld **Projekteigenschaften**, klicken Sie auf die Registerkarte **Skripte**, und klicken Sie auf **References .Net...**.
  </Step>

  <Step title="Die Assembly hinzufügen">
    Klicken Sie im geöffneten Dialogfeld auf **Add...**.
  </Step>

  <Step title="Den Assembly-Typ auswählen">
    Wählen Sie im Dialogfeld **Add Assembly** im Feld Typ **Attached file** oder **Standard assembly name** aus.
  </Step>

  <Step title="Die Assembly angeben">
    Geben Sie je nach ausgewähltem Typ entweder den Dateipfad oder den Standardnamen an.
  </Step>
</Steps>

Diese Beispiel-Assembly enthält einen Namespace, eine Klasse und eine Methode dieser Klasse:

```csharp theme={null}
namespace TestNameSpace
{
public class Test
    {
    public void Show(string text)
       {
      // zeigt eine Textnachricht mit der statischen Methode Show(string text) der Klasse System.Windows.Forms.MessageBox
System.Windows.Forms.MessageBox.Show(text);
       }
    }
}
```

Ein Skript, das eine Klasse und Methoden aus einer externen Assembly verwendet, enthält folgenden Code:

```csharp theme={null}
TestNameSpace.Test test = new TestNameSpace.Test(); // erstellt ein Objekt der Test-Klasse
test.Show("Hello world"); // ruft die void-Methode Show() der Test-Klasse auf
```

<div id="debug-external-assemblies">
  ## Externe Assemblies debuggen
</div>

Zum Debuggen externer Assemblies werden sowohl die Assembly-Datei als auch die `.pdb`-Datei mit Symbolinformationen benötigt. Nur Assemblies, für die eine `.pdb`-Datei geladen wurde, können debuggt werden. Da `.pdb`-Dateien recht groß sind, deaktivieren Sie das Laden von Symbolinformationen im Arbeitsprojekt.

<div id="registry-keys-that-control-loading-symbolic-information">
  ### Registrierungsschlüssel, die das Laden symbolischer Informationen steuern
</div>

Verwenden Sie die folgenden Registrierungsschlüssel, um festzulegen, ob `.pdb`-Dateien geladen werden sollen:

* `HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script [LoadSymbolsFromOriginalPath]` – Legt fest, ob `.pdb`-Dateien aus demselben Ordner wie die Assembly geladen werden sollen. Um `.pdb`-Dateien zu laden, setzen Sie den Wert auf `True`.
* `HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script [PDBSearchLocations] = <path to the folder with PDB files>` – Legt die Suchpfade für `.pdb`-Dateien fest. Trennen Sie die Pfade durch Semikolons. Die Suche gibt eine `.pdb`-Datei mit symbolischen Informationen zurück, deren Name mit dem Namen der Assembly übereinstimmt.

Diese Schlüssel sind standardmäßig nicht in der Registrierung vorhanden. Falls erforderlich, kann der Administrator sie in der Registrierung des Betriebssystems des Benutzers anlegen.

Damit die Änderungen an der Registrierung wirksam werden, starten Sie die Scanning Station neu.

Um eine Assembly zu debuggen, stellen Sie eine Verbindung zum verwalteten Code her.
