Téléchargement de VS.Net 2010 Beta 1
Pour ceux et celles qui ne le savent pas, la beta 1 de VS.Net 2010 du .Net Framework ver 4.0 est disponible depuis un bon moment.
Page de téléchargement sur MSDN ici
Pod Cast sur Channel 9 ici
have fun !
Téléchargement de VS.Net 2010 Version: CTP
Depuis ces quelques dernières années, Microsoft Corp nous habitues à mettre en ligne des version Beta et CTP des divers produits commerciaux. Recemment, c'est au tour de Microsoft Visual Studio 2010 d'être disponible en version CTP pour fin de téléchagement.
Vous retrouverez la page de téléchargement du produit ici.
Cette nouvelle mouture inclus Visual Studio 2010, le .Net Framework 4.0 ce dans une machine Virtuel pour Microsoft Virtual PC, en anglais, pesant pas moins de 7 giga.
Common Intermediate Language (CLI ou MSIL) Pourquoi ?
Pourquoi développer une fonctionnalités en Common Language Intermediate, soit du CLI, anciennement nommé Microsoft Intermediate Language ?
C'est un peu la question que j'avais, lorsqu'un collègue m'avait proposer lorsque nous avions évalué notre Assembly. Je connaissais la signification de MSIL, soit le langage Natif .Net. Language qui est interprété par le runtime .Net, mais j'en avais jamais fais auparavant.
La problématique, étant de concevoir un lanceur d'appel de méthode X tout en étant en mesure de pouvoir avoir un "feedback" au début et à la fin de l'appel de la méthode X. Par réflection, le système était devenue tout simplement lourd et non maintenable... mais le besoin était toujours présent, celui d'être dynamique.
La solution ? Développer notre Assembly pour notre besoin en code natif, en CLI.
Schéma du CLI:
"Compilation en MSIL
Lors d'une compilation destinée à produire un code managé, le compilateur convertit le code source en langage MSIL (Microsoft Intermediate Language), un jeu d'instructions indépendant du processeur qui est converti efficacement en code natif. MSIL inclut des instructions pour le chargement, le stockage, l'initialisation et l'appel de méthodes sur des objets, ainsi que des instructions pour la réalisation d'opérations arithmétiques et logiques, le flux de contrôle, l'accès direct à la mémoire, la gestion des exceptions et d'autres opérations. Avant d'exécuter du code, vous devez d'abord convertir le langage MSIL en code spécifique du processeur, généralement à l'aide d'un compilateur JIT (Just-In-Time). Dans la mesure où le Common Language Runtime fournit un ou plusieurs compilateurs JIT pour chaque architecture d'ordinateur qu'il prend en charge, le même jeu de MSIL peut être traité par un compilateur JIT et exécuté sur toute architecture prise en charge.
Lorsqu'un compilateur produit un code MSIL, il génère aussi des métadonnées. Les métadonnées décrivent les types contenus dans votre code, y compris la définition de chaque type, les signatures des membres de chaque type, les membres référencés par votre code, et d'autres données que le runtime utilise au moment de l'exécution. Le code MSIL et les métadonnées sont stockés dans un fichier exécutable portable (PE) qui est basé sur le fichier Microsoft PE publié qu'il prolonge et sur le format COFF (Common Object File Format) utilisé traditionnellement pour le contenu exécutable. Ce format de fichier, qui accepte le code MSIL ou le code natif ainsi que les métadonnées, permet au système d'exploitation de reconnaître les images du Common Language Runtime. La présence de métadonnées dans le fichier en même temps que le jeu d'instructions MSIL permet à votre code de se décrire lui-même, ce qui signifie que les bibliothèques de types et IDL (Interface Definition Language) ne sont pas nécessaires. Le runtime recherche les métadonnées dans le fichier et les extrait selon les besoins, au moment de l'exécution."
Source: http://msdn.microsoft.com/fr-fr/library/c5tkafs1(VS.80).aspx
Fort malheureusement, les resources fiable sur Internet sur le développement CLI (MSIL) sont très limités. En voici une qui m'aura été très utile: http://www.thefreakparade.com/2008/06/baby-stepping-into-msil-creating-an-event-recorder-using-a-dynamicmethod-and-reflectionemit