Ignorer les liens de navigationAccueil : Introduction au Framework .NET : Architecture d'une application .NET : Assemblages Ignorer les liens de navigation
Accueil
Introduction au Framework .NETDévelopper Introduction au Framework .NET
Le langage C#Développer Le langage C#
Programmation orientée objetsDévelopper Programmation orientée objets
CollectionsDévelopper Collections
ADO.NETDévelopper ADO.NET
LINQDévelopper LINQ
ASP.NETDévelopper ASP.NET
Workflow FoundationDévelopper Workflow Foundation
Besoins de prestationDévelopper Besoins de prestation

Assemblages

Un assemblage (Assembly) est un fichier exécutable .exe ou un fichier .dll. Ces fichiers contiennent du code MSIL, un manifeste qui décrit l’assemblage et des fichiers de ressources. Nous ne détaillerons pas ici la notion de module, qui permet essentiellement d’écrire des assemblages en utilisant des langages différents. Par exemple, il est possible d’écrire une classe d’une DLL en VB.NET puis une autre en C#. Visual Studio ne supportant pas cette fonctionnalité, nous considèrerons qu’un .exe ou une DLL est développée en utilisant le même langage.

Pour illustrer le fonctionnement des assemblages, nous allons développer une application avec le bloc-notes ou n’importe quel autre éditeur de texte pour ensuite le compiler en ligne de commande avec soit le compilateur C# csc.exe ou Visual Basic .NET vbc.exe.

Cette application va demander d’entrer deux nombres entiers puis va réaliser l’addition des deux nombres en appelant une fonction de calcul placées dans une DLL.

Commençons par développer la DLL.

C#

namespace CalculatriceDLL

{

    public class Calc

    {

        public static int Additionner(int a, int b)

        {

            return a + b;

        }

    }

}

VB.NET

Namespace CalculatriceDLL

    Public Class Calc

        Public Shared Function Additionner(ByVal a As Integer, ByVal b As Integer) As Integer

            Return (a + b)

        End Function

    End Class

End Namespace

Pour C#, compilez le programme en lançant Visual Studio 2008 Command Prompt (dans le groupe de programme Microsoft Visual Studio 2008, Visual Studio 2008 Tools), puis tapez la commande suivante :

csc /target:library /out:CalculatriceDLL.dll Calc.cs

Pour Visual Basic .NET, compilez le programme en lançant Visual Studio 2008 Command Prompt (dans le groupe de programme Microsoft Visual Studio 2008, Visual Studio 2008 Tools), puis tapez la commande suivante :

vbc /target:library /out:CalculatriceDLL.dll Calc.vb

Créez un fichier texte nommé Program.cs ou Program.vb puis placez le code suivant dans le fichier.

C#

using System;

using CalculatriceDLL;

 

namespace AppliCalc

{

    public class Program

    {

        static void Main(string[] args)

        {

            Console.Write("Entrez la valeur de a:");

            int a = int.Parse(Console.ReadLine());

 

            Console.Write("Entrez la valeur de b:");

            int b = int.Parse(Console.ReadLine());

            int c = Calc.Additionner(a, b);

            Console.WriteLine("{0} + {1} = {2}", a, b, c);

        }

    }

}

VB.NET

Imports System

Imports CalculatriceDLL

 

Namespace AppliCalc

    Public Class Program

        Public Shared Sub Main(ByVal args() As String)

            Console.Write("Entrez la valeur de a:")

            Dim a As Integer = Integer.Parse(Console.ReadLine)

            Console.Write("Entrez la valeur de b:")

            Dim b As Integer = Integer.Parse(Console.ReadLine)

            Dim c As Integer = Calc.Additionner(a, b)

            Console.WriteLine("{0} + {1} = {2}", a, b, c)

        End Sub

    End Class

End Namespace

Pour C#, compilez le programme dans l’invite de commande Visual Studio 2008 en tapant la commande suivante :

csc /target:exe /out:calcul.exe /reference:CalculatriceDLL.dll Program.cs

Pour Visual Basic .NET, compilez le programme dans l’invite de commande Visual Studio 2008 en tapant la commande suivante :

vbc /target:exe /out:calcul.exe /reference:CalculatriceDLL.dll Program.vb

Le programme produit le résultat suivant :

C:\appli>csc /target:library /out:CalculatriceDLL.dll Calc.cs
Microsoft (R) Visual C# 2008 Compiler version 3.5.21022.8
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.

C:\appli>csc /target:exe /out:calcul.exe /reference:CalculatriceDLL.dll Program.
cs
Microsoft (R) Visual C# 2008 Compiler version 3.5.21022.8
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.

C:\appli>calcul.exe
Entrez la valeur de a:12
Entrez la valeur de b:42
12 + 42 = 54

C:\appli>

Pour déployer cette application sur un poste, il suffit d’installer le framework .NET 3.5 puis de copier l’exécutable et la DLL dans un même dossier. Ce fonctionnement signifie que le déploiement simple d’une application est de type XCopy. L’exécutable va charger la DLL à partir de son répertoire local.

Si nous avions créé ce programme avec Visual Studio, nous aurions du utiliser les modèles de projets suivants :

Templates Visual Studio

Pour que l’exécutable soit en mesure d’utiliser la DLL, il faut créer la référence en cliquant droit sur le projet de l’exécutable puis sur Add Reference.