> ## 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 écrits dans des langages .NET

> Particularités des scripts .NET pour ABBYY Scanning Station : exigences relatives aux assembly, espace de noms ABBYY.ScanStation, directives using, débogage et mise en pause des scripts.

Les considérations suivantes s’appliquent aux scripts écrits dans des langages .NET (C#.NET, JScript.NET et VisualBasic.NET).

<div id="assemblies-and-namespaces">
  ## Assemblys et espaces de noms
</div>

* Compilez les assemblys .NET avec Microsoft .NET Framework 4.0 ou une version ultérieure. Spécifiez la version de .NET Framework dans les propriétés de votre projet Visual Studio. **Remarque.** Pour plus de détails sur l’utilisation de bibliothèques créées dans .NET Framework 2.0, 3.0 et 3.5, consultez [la compatibilité d’ABBYY FlexiCapture avec les différentes versions de .NET Framework](http://knowledgebase.abbyy.com/article/1884).
* Ajoutez des assemblys externes à utiliser dans les scripts et les modules globaux. Les assemblys utilisateur standard et compilés sont tous deux pris en charge, et toutes leurs classes sont disponibles dans les scripts et les modules globaux. Pour plus d’informations, consultez [assembly externe](/fr/flexi-capture/scanning-station/shared/scripts/user-assembly-ss).
* Les [objets de script Scanning Station](/fr/flexi-capture/scanning-station/shared/scripts/objects) se trouvent dans l’assembly `ScanStationInterop.dll` et appartiennent à l’espace de noms `ABBYY.ScanStation`. Cet assembly se trouve dans le dossier racine de Scanning Station.

Tous les objets de script ABBYY Scanning Station sont accessibles par leur propre nom depuis l’espace de noms `ABBYY.ScanStation`. Par exemple :

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

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

Accédez aux éléments de l’objet à l’aide des mots-clés `Workspace` et `ExportBatch`.

Placez les directives `using` au début du corps du script, avec les commentaires et les lignes vides. Utilisez la même syntaxe que dans le langage de programmation (`using` pour C#.NET, `Import` pour JScript.NET et `Imports` pour VisualBasic.NET). Par exemple :

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

Vous pouvez utiliser la directive `using` dans le Script Editor si le mot-clé `using` apparaît avant la première ligne de code exécutable. Par exemple :

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

<div id="script-execution">
  ## Exécution du script
</div>

* Dans les scripts .NET, vous appelez directement les fonctions de tous les modules globaux, sans utiliser le nom du module global.
* Si vous souhaitez omettre un paramètre facultatif de la fonction, passez `System.Type.Missing` à la place.
* Les objets FlexiCapture ne prennent pas en charge le multithreading.
* Pour mettre un script en pause, utilisez la méthode `Wait` de l’interface [IWorkspace](/fr/flexi-capture/scanning-station/shared/scripts/workspace). L’utilisation de la méthode standard `Thread.Sleep` ne suffit pas.

<div id="debugging">
  ## Débogage
</div>

* Pour déboguer les scripts .NET, la méthode [System.Diagnostics.Debugger.Break](http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx) est utilisée.
* Lors du débogage des scripts .NET, vous avez également besoin d’un fichier `.pdb` contenant les informations de débogage. Ce fichier peut être très volumineux, évitez donc de le stocker dans le projet avec vos scripts. Lors du débogage, spécifiez que le script est compilé avec des informations de débogage.
* Si vous utilisez Microsoft Visual Studio 2010, vous pouvez [vous attacher au processus](http://msdn.microsoft.com/en-us/library/vstudio/3s68z0b3\(v=vs.100\).aspx) dans lequel le code .NET s’exécute.
