Introduction au .NET FrameWork

Содержание

Слайд 2

PLAN Qu’est-ce que le .NET FrameWork ? Les objectifs du .Net

PLAN

Qu’est-ce que le .NET FrameWork ?
Les objectifs du .Net FrameWork
Notion d’assemblée


Comment ça fonctionne
Interopérabilité
Standardisation du .Net FrameWork
.Net FrameWork et Linux
Слайд 3

Qu’est-ce que le .NET FrameWork ? Un nouvel environnement de développement

Qu’est-ce que le .NET FrameWork ?

Un nouvel environnement de développement et

d’exécution
L’introduction d’un nouveau langage : C#
Une bibliothèque de classes extensibles, regroupées par namespace en C#
Слайд 4

Objectifs du .NET Framework Environnement d’exécution robuste et sécurisé Common Language

Objectifs du .NET Framework

Environnement d’exécution robuste et sécurisé
Common Language Runtime (CLR)
Code

managé : Garbage Collector, Type Safe..
Runtime Security

Déploiement et administration simplifiés
Xcopy, Versioning

Intégration de l’existant
Multiples langages de programmation
Interopérabilité COM et Win32
Compatibilité « side by side »

Développement d’applications simplifié
Modèle de programmation unifié
Elever le niveau d’abstraction
classe, interface, héritage, propriété, constructor, exception…
Elimination complète de la plomberie COM
Bibliothèque de classe riche et extensible
Intégration native des standards Web (HTTP,XML, SOAP, ...)

Слайд 5

CLR : Vue d’ensemble Class Loader Base Class Library Support

CLR : Vue d’ensemble

Class Loader

Base Class Library Support

Слайд 6

Assembly : Définition Unité de déploiement Point d’entrée d’exécution Unité de

Assembly : Définition

Unité de déploiement
Point d’entrée d’exécution
Unité de contrôle de sécurité
Unité

de contrôle de version
Unité de réutilisation
Unité de visibilité des types
Unité d’exécution « cote à cote »
Слайд 7

Assembly : 2 formes d’utilisation On considère 2 types d’assembly :

Assembly : 2 formes d’utilisation

On considère 2 types d’assembly :
Privée :

Dédiée à l’utilisation d’un programme particulier. Se situe généralement dans l’arborescence du programme qui l’utilise.
Partagée : Utilisée par un ensemble de programme différents. Se situe généralement dans le GAC (Global Assemblies Cache)
Слайд 8

Assembly : contenu Un manifest : metadonnées de l’assembly Les métadonnées

Assembly : contenu

Un manifest : metadonnées de l’assembly
Les métadonnées décrivant les

types utilisés
Le code IL
Les ressources utilisées (images,…)
La liste des fichiers qui la compose
Слайд 9

Global Assemblies Cache (GAC) Un cache accueillant les assemblées partagées par

Global Assemblies Cache (GAC)

Un cache accueillant les assemblées partagées par plusieurs

applications
Doivent être définies avec des « noms forts »
Grâce au mécanisme de clé privée, clé publique
Pour garantir l’unicité d’une version d’une assemblée
Pour garantir l’intégrité de l’assemblée
Doivent faire référence à des assemblées fortement nommées !
Слайд 10

Comment ça marche : 1. Le Développement DEVELOPMENT C# J# VB

Comment ça marche : 1. Le Développement

DEVELOPMENT

C#
J#
VB
Cobol

MSIL
Metadata
Resources

public static void Main(String[] args

)
{ String usr; FileStream f; StreamWriter w;
try {
usr=Environment.GetEnvironmentVariable("USERNAME");
f=new FileStream(“C:\\test.txt",FileMode.Create);
w=new StreamWriter(f);
w.WriteLine(usr);
w.Close();
} catch (Exception e){
Console.WriteLine("Exception:"+e.ToString());
}
}

public static void Main(String[] args )
{ String usr; FileStream f; StreamWriter w;
try {
usr=Environment.GetEnvironmentVariable("USERNAME");
f=new FileStream(“C:\\test.txt",FileMode.Create);
w=new StreamWriter(f);
w.WriteLine(usr);
w.Close();
} catch (Exception e){
Console.WriteLine("Exception:"+e.ToString());
}
}

Source code

Слайд 11

Comment ça marche : 2.Le Déploiement DEPLOYMENT Setup Copy Browser

Comment ça marche : 2.Le Déploiement

DEPLOYMENT

Setup
Copy
Browser

Слайд 12

Comment ça marche : 3. L’exécution DEPLOYMENT EXECUTION Policy version="1" PermissionSetName="Nothing"

Comment ça marche : 3. L’exécution

DEPLOYMENT

EXECUTION

Policy






version="1"
PermissionSetName="Nothing"
Name="All_Code"
Description="Code group grants no permissio ns and forms the root of the code group tree.">
version="1"/>
version="1"
PermissionSetName="FullTrust"
Слайд 13

Interopérabilité Interopérabilité des langages, grâce au langage intermédiaire (IL) Interopérabilité avec COM Interopérabilité avec Win32

Interopérabilité

Interopérabilité des langages, grâce au langage intermédiaire (IL)
Interopérabilité avec COM
Interopérabilité avec

Win32
Слайд 14

Standardisation C# et CLI qui sont déposés à l'ECMA CLI (Common

Standardisation

C# et CLI qui sont déposés à l'ECMA
CLI (Common Language Infrastructure) est

très précis quand a ce que l'on doit trouver dans le "framework " et le "runtime " et laisse champ libre sur la manière de l'implémenter
ECMA-334, C# (C sharp) Language Specification.
ECMA-335, Common Language Infrastructure, approved by the ECMA General Assembly of 13th December 2001. 
ECMA TR/84, related to Standard ECMA-335
Слайд 15

.Net FrameWork et Linux ! Début du « portage » du

.Net FrameWork et Linux !

Début du « portage » du framework .Net
Différents projets

:
Mono par le créateur de gnome
GNU Portable DotNet
Rotor (FreeBSD)