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

# Assembly externes

> Ajouter des assembly .NET externes aux scripts de Scanning Station et aux modules globaux, appeler des classes depuis le code de script et déboguer des assembly avec des fichiers de symboles .pdb.

Vous pouvez utiliser des assembly externes dans les scripts et les modules globaux. Les assembly utilisateur, standard comme compilées, fonctionnent.

<div id="add-an-external-assembly">
  ## Ajouter une assembly externe
</div>

Ajoutez des assembly externes dans l’onglet **Scripts** de la boîte de dialogue **Propriété du type de lot** ou dans **Tools → Options...**. Toutes les classes et méthodes des assembly que vous ajoutez sont disponibles pour les scripts et les modules globaux.

Les assembly que vous ajoutez aux propriétés d’un type de lot ou d’une Document Definition sont disponibles uniquement pour ce type de lot ou cette Document Definition.

<Steps>
  <Step title="Ouvrir la boîte de dialogue Références">
    Ouvrez la boîte de dialogue **Propriétés du projet**, cliquez sur l’onglet **Scripts**, puis sur **References .Net...**.
  </Step>

  <Step title="Ajouter l’assembly">
    Dans la boîte de dialogue qui s’ouvre, cliquez sur **Add...**.
  </Step>

  <Step title="Choisir le type d’assembly">
    Dans la boîte de dialogue **Add Assembly**, sélectionnez **Attached file** ou **Standard assembly name** dans le champ de type.
  </Step>

  <Step title="Spécifier l’assembly">
    Selon le type sélectionné, indiquez le chemin du fichier ou le nom standard.
  </Step>
</Steps>

Cet exemple d’assembly utilisateur contient un espace de noms, une classe et une méthode de cette classe :

```csharp theme={null}
namespace TestNameSpace
{
public class Test
    {
    public void Show(string text)
       {
      // affiche un message texte avec la méthode statique Show(string text) de la classe System.Windows.Forms.MessageBox
System.Windows.Forms.MessageBox.Show(text);
       }
    }
}
```

Un script qui utilise une classe et des méthodes d’une bibliothèque externe contient le code suivant :

```csharp theme={null}
TestNameSpace.Test test = new TestNameSpace.Test(); // crée un objet de la classe Test
test.Show("Hello world"); // appelle la méthode void Show() de la classe Test
```

<div id="debug-external-assemblies">
  ## Déboguer des assembly externes
</div>

Pour déboguer des assembly externes, le fichier assembly et le fichier `.pdb` contenant les informations symboliques sont tous deux nécessaires. Seules les assembly dont les fichiers `.pdb` sont chargés peuvent être déboguées. Les fichiers `.pdb` étant assez volumineux, désactivez le chargement des informations symboliques dans le projet en cours.

<div id="registry-keys-that-control-loading-symbolic-information">
  ### Clés de registre contrôlant le chargement des informations symboliques
</div>

Utilisez les clés de registre suivantes pour définir s’il faut charger les fichiers `.pdb` :

* `HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script [LoadSymbolsFromOriginalPath]` – Indique s’il faut charger les fichiers `.pdb` à partir du même dossier que l’assembly. Pour charger les fichiers `.pdb`, définissez la valeur sur `True`.
* `HKEY_CURRENT_USER\Software\ABBYY\ScanStationFC\4.0\Shell\Script [PDBSearchLocations] = <path to the folder with PDB files>` – Indique les chemins de recherche des fichiers `.pdb`. Séparez les chemins par des points-virgules. La recherche renvoie un fichier `.pdb` contenant des informations symboliques dont le nom correspond à celui de l’assembly.

Ces clés n’existent pas dans le registre par défaut. Si nécessaire, l’administrateur peut les ajouter au registre du système d’exploitation de l’utilisateur.

Pour appliquer les modifications du registre, redémarrez Scanning Station.

Pour déboguer un assembly, connectez-vous au code managé.
