Quelqu'un pourrait-il signaler l'avantage d'utiliser des assemblages, dans le "contexte" de ASP.NET < / a>. p>
Si je comprends bien, les assemblages fonctionnent comme exécutables, ont un seul point d'entrée et peuvent être exécutés dans un domaine d'application, mais j'ai trouvé très peu d'exemples appropriés sur le Web. P>
4 Réponses :
Un assemblage n'est pas simplement un exécutable ... Un assemblage est essentiellement une bibliothèque .NET qui peut em> avoir un point d'entrée exécutable ... P>
Article Wikipedia avec description des assemblages premier paragraphe: p>
dans le cadre Microsoft .NET, un
L'assemblage est un code partiellement compilé
Bibliothèque à utiliser dans le déploiement,
Version et sécurité. Il y en a deux
Types: assemblages de processus (EXE) et
Assemblages de bibliothèque (DLL). Un processus
L'assemblage représente un processus qui
utilisera des classes définies dans la bibliothèque
assemblages. Les assemblages .NET contiennent
code en cil, qui est généralement
généré à partir de langues .Net, et
puis compilé dans la langue de la machine à
Runtime par le CLR juste à temps
compilateur. Un assemblage peut être composé de
un ou plusieurs fichiers. Les fichiers de code sont
appelé modules. Un assemblage peut
contenir plus d'un module de code et
Puisqu'il est possible d'utiliser différents
langues pour créer des modules de code il est
techniquement possible d'utiliser plusieurs
différentes langues pour créer un
Assemblée. Visual Studio fait cependant
Pas de support en utilisant différentes langues
dans un assemblage. p>
blockQuote>
Donc, une bibliothèque est un sous-ensemble d'un assemblée?
Les assemblages ne sont pas toujours exécutables. La plupart des gens les définiront comme une collection de modules de classe présentés sous forme de fichier DLL unique ou exe. La chose la plus proche d'eux sont les pots Java. P>
Ils ont des métadonnées (voir http://en.wikipedia.org/wiki/.net_metadata < / a>) qui contient un tas d'informations telles que p>
Ils ont également un manifeste qui fait partie de cette métadonnée (voir http: //msdn.microsoft.com/en-us/library/1w45z383.cox ). P>
Vous pouvez enregistrer des assemblages dans le cache de montage global (GAC) (voir http: //fr.wikipedia .org / wiki / global_assembly_cache ), et vous les mettra à la disposition de tous les autres programmes de la machine. (Lorsque dans Visual Studio, vous utilisez "Ajouter des références" et parcourez l'onglet .NET, vous regardez une liste d'assemblages dans le GAC). P>
Vous n'avez pas à les ajouter dans le GAC, vous pouvez directement référencer une assemblée privée, mais les enregistrer dans le GAC les rendez à l'échelle mondiale sur l'ordinateur. P>
Ce lien contient des informations sensibles sur les assemblys: p>
Cette question n'a pas beaucoup de sens. Les assemblages contiennent des bibliothèques de classe, ce n'est ni une sorte. Même si vous n'avez que des fichiers ASPX, la première fois que quelqu'un accède à une page, ASP.NET le compile dans une classe, puis un assemblage à la volée. P>
@maxp, demandez-vous s'il vaut mieux inclure la classe en tant que fichier .cs dans le projet ou en tant que compilé .dll dans les références? P>
J'ai utilisé pour conserver des fonctions communes dans les fichiers de classe (CS) et les inclure simplement dans quel projet je travaillais. Les classes vivent sous contrôle source afin que je voudrais simplement m'assurer que j'ai reçu la dernière version à tout moment, j'ai créé un nouveau projet. Cependant, ces derniers temps, j'ai commencé à les compiler et à les enregistrer dans le GAC. Cela aide à réduire le mal de tête de ne pas vraiment savoir quelle version de la classe est incluse dans un projet donné. Si vous modifiez la classe, il suffit de ré-enregistrer avec le GAC et toutes vos applications sont mises à jour et utilisez la même version. P>
Le seul inconvénient que j'ai rencontré est si vous essayez de déboguer et de passer à travers la logique. Assurez-vous simplement que vos cours sont solides avant de compiler et de placer dans GAC. P>
J'espère que cela aide à répondre à votre question. P>
Pas vraiment, mais merci pour la réponse. Notre solution pour lutter contre votre problème du «dernier code de version» est une solution importante contenant tous les projectes, y compris la bibliothèque de classe. Nous ajoutons ensuite des références à la bibliothèque de classe pour chaque projet, de sorte que chaque nouvelle compilation, tous les projets sont mis à jour avec la plus récente bibliothèque.