Pourriez-vous s'il vous plaît expliquer ce qu'est un Assembly en C # ou .NET?
- Où commence-t-il et où finit-il?
- Quelles informations importantes dois-je connaître sur les assemblages?
Pourriez-vous s'il vous plaît expliquer ce qu'est un Assembly en C # ou .NET?
Réponses:
Un assembly est la sortie compilée de votre code, généralement une DLL, mais votre EXE est également un assembly. C'est la plus petite unité de déploiement pour tout projet .NET.
L'assembly contient généralement du code .NET en MSIL (langage Microsoft Intermediate) qui sera compilé en code natif («JITted» - compilé par le compilateur Just-In-Time) la première fois qu'il est exécuté sur une machine donnée. Ce code compilé sera également stocké dans l'assembly et réutilisé lors des appels suivants.
L'assembly peut également contenir des ressources telles que des icônes, des bitmaps, des tables de chaînes, etc. En outre, l'assembly contient également des métadonnées dans le manifeste de l'assembly - des informations telles que le numéro de version, le nom fort, la culture, les assemblys référencés, etc.
Dans 99% de vos cas, un assemblage équivaut à un fichier physique sur disque - le cas d'un assemblage multi-fichiers (un assemblage, réparti sur plus d'un seul fichier) semble être un cas plutôt étrange que j'ai jamais rencontré jusqu'à présent dans mes 5 ans et plus de développement .NET.
Dans un assembly multifichier, il y aurait toujours un seul manifeste d'assembly dans une DLL ou un EXE et le code MSIL dans plusieurs fichiers netmodule.
Dans le framework Microsoft .NET, un assembly est une bibliothèque de code partiellement compilée à utiliser dans le déploiement, le contrôle de version et la sécurité.
http://www.codeguru.com/columns/csharp_learning/article.php/c5845
Un assembly est un fichier qui est automatiquement généré par le compilateur lors de la compilation réussie de chaque application .NET. Il peut s'agir d'une bibliothèque de liens dynamiques ou d'un fichier exécutable. Il n'est généré qu'une seule fois pour une application et à chaque compilation suivante, l'assembly est mis à jour.
Voici une autre explication de la composition des assemblys .NET, un mini-devis:
Le framework .NET se compose des concepts de modules, d'assemblys, qui stockent à la fois des métadonnées et des informations de manifeste. Un assemblage peut contenir plusieurs modules. Visual C # ne crée qu'un seul module qui est transformé en assembly par le compilateur C # (csc.exe), mais un assembly peut lier plusieurs modules .NET ensemble via l'outil de ligne de commande Assembly Linker (al.exe). Par exemple, chacun de vos fichiers .cs de code source pourrait être compilé dans un module et lié pour former un assembly - un assembly est juste une collection de modules et de ressources. L'un de ces modules, cependant; doit contenir des informations de métadonnées manifestes (voir ci-dessous) pour que l'assembly soit compris par le CLR.
....
Après avoir créé un nouveau .exe ou .dll dans VS.NET, votre fichier apparaît dans votre dossier bin. L'ouvrir dans le bloc-notes donnera du charabia, ou même dans un éditeur hexadécimal sans connaître la structure du fichier, vous avez besoin d'un outil comme ildasm.exe ou CFF Explorer pour en donner un sens. La structure de l'assemblage est la suivante:En-tête PE En-
tête
CLR Métadonnées
CLR
Code IL CLR
Données natives
La réponse est pour une saisie immédiate.
En termes simples, c'est le projet compilé impliquant vos classes et des fichiers supplémentaires, s'il y en a. Autrement dit, chaque projet d'une solution est un assemblage .
Ou plus techniquement,
Un assembly est l'endroit où un type est stocké dans le système de fichiers. Les assemblys sont un mécanisme de déploiement de code. Par exemple, l'
System.Data.dll
assembly contient des types de gestion des données. Pour utiliser des types dans d'autres assemblys, ils doivent être référencés. - Source
comment le savons-nous? Si vous regardez les propriétés d'un projet sous la solution, vous pouvez voir les images suivantes.
Lorsque vous compilez le projet, il s'avère que DLL ou EXE .
Lorsqu'un code source est compilé par le compilateur de langage , il Générer un assembly managé et MSIL (MisroSoft Intermediate Language). Cet assemblage contient un fichier .dll ou .exe . Un Assebmly peut être de deux types Private Assembly et Shared Assembly , l' assembly partagé est stocké dans GAC (Global Assembly Cache) afin que toute application puisse s'y référer tandis que l'assembly privé est stocké dans le dossier d'application qui ne peut être utilisé que par une seule application.
Un assembly est une DLL ou un EXE qui sera créé lorsque vous le publiez ou compilerez votre application.
Un assemblage est une collection d'unités logiques. Les unités logiques font référence aux types et aux ressources nécessaires pour créer une application et les déployer à l'aide du framework .Net. Fondamentalement, Assembly est une collection d'Exe et de DLL. Il est portable et exécutable.
Après avoir écrit le code source de votre programme (projet), un fichier est créé qui peut être DLL ou EXE dépend de votre projet. Cela ne fait qu'une seule fois pour un seul projet. Il a deux types 1: - simple 2: - ensemble unique partagé ou multiprogramme utilisé uniquement dans un seul programme tandis que partagé peut être utilisé pour multiprogramme