> ## 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 en langages .NET

> Spécificités de l’écriture de scripts pour Scanning Station en C#.Net, VisualBasic.Net et JScript.Net.

Lorsque vous écrivez des scripts en langages .NET, certains points diffèrent de VBScript et de JScript.

<div id="accessing-objects">
  ## Accès aux objets
</div>

Utilisez les mots-clés `Workspace` et `ExportBatch` pour accéder aux éléments des objets Scanning Station.

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

* Compilez les assemblies .NET à l’aide de **.NET Framework 4.0 ou version ultérieure**. Définissez le framework cible dans les propriétés de votre projet Visual Studio.
* Vous pouvez ajouter des assemblies externes — standard ou compilés par l’utilisateur — et chaque classe qu’ils contiennent devient alors disponible dans les scripts et les modules globaux. Voir [Assemblies externes](/fr/vantage/documentation/scanning-station/admin/external-assemblies).
* Les objets de Scanning Station ne prennent pas en charge le multithreading.

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

* Utilisez la méthode [`System.Diagnostics.Debugger.Break`](http://msdn.microsoft.com/en-us/library/system.diagnostics.debugger.break.aspx) pour interrompre l’exécution dans le débogueur.
* Le débogage nécessite également un fichier `.pdb` contenant des informations de débogage. Ces fichiers peuvent être très volumineux — nous vous recommandons de les conserver en dehors du projet. Assurez-vous que le script est compilé en incluant les informations de débogage. Dans Microsoft Visual Studio, 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.

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

Vous pouvez placer des directives de type `using` en haut d’un script, avec les commentaires et les lignes vides. La syntaxe dépend du langage :

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

Par exemple, en C#.Net :

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

<Note>
  Une directive `using` n’est prise en compte que si elle apparaît avant la première ligne de code exécutable. Par exemple :

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

<div id="functions-and-optional-parameters">
  ## Fonctions et paramètres facultatifs
</div>

* Les fonctions des modules globaux sont appelées directement dans les scripts .NET — vous n’avez pas besoin de les faire précéder du nom du module global.
* Pour ignorer un paramètre facultatif, passez `System.Type.Missing` à la place.

<div id="related-topics">
  ## Rubriques connexes
</div>

* [Utilisation des scripts](/fr/vantage/documentation/scanning-station/admin/using-scripts)
* [Assemblies externes](/fr/vantage/documentation/scanning-station/admin/external-assemblies)
* [Objets disponibles dans les scripts d’événement](/fr/vantage/documentation/scanning-station/admin/available-objects)
* [Mode Administrateur](/fr/vantage/documentation/scanning-station/admin/admin-mode)
