Accueil : Introduction au Framework .NET : Architecture d'une application .NET : Assemblages
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.
- Créez un fichier texte nommé Calc.cs ou Calc.vb
- Placez le code suivant dans le fichier
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 :
- Class Library pour la DLL
- Console Application pour l’exécutable
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.
- Dans la boîte de dialogue Add Reference, sélectionnez l’onglet Projects puis sélectionner le projet qui contient la bibliothèque de classe à exploiter.