98-372 Understanding .NET Code Compilation
MTA 98-372 von Microsoft. .NET Fundamentals
MTA 98-372 von Microsoft. .NET Fundamentals
Kartei Details
Karten | 56 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 06.10.2013 / 22.01.2016 |
Lizenzierung | Kein Urheberrechtsschutz (CC0) |
Weblink |
https://card2brain.ch/box/98372_understanding_net_code_compilation
|
Einbinden |
<iframe src="https://card2brain.ch/box/98372_understanding_net_code_compilation/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
CLR: Nenne 3 der wichtigsten Aufgaben der CLR
(Common Language Runtime)
Die CLR bildet das Herz des .NET Frameworks. Sie ist die Umgebung in der MSIL läuft. Sie hat die Hauptaufgaben:
- Garbage Collection (GC):
- Code Access Security (CAS): Stellt Rechte des Codes auf die Systemressourcen bereit, abhängig von den Sicherheitseinstellungen auf dem PC
- Code Verification: Stellt sicheres Ausführen des Codes sicher
- JIT: Just in time Compliation, der MSIL wird zur Laufzeit in Maschienencode umgewandelt.
Der JIT Compiler ist ein cleveres Ding. Welches sind die 3 Modi, in denen der Compiler Code übersetzt und was sind die Unterschiede?
- Pre-Jit: kompiliert tutti cuanti im Voraus
- Econo-Jit: kompiliert vor zu, was zur Laufzeit verwendet wird. Werden sie nicht mehr verwendet, werden sie wieder gelöscht.
- Normal-Jit: kompiliert vor zu, was zur Laufzeit verwendet wird, der Code bleibt aber im Cache
Eine assembly die nur mit dem public key signiert wurde, würde die .NET security verification nicht bestehen. Wie kann man mit sn.exe die Assembly MathUtil.dll registrieren, dass sie die security verification überspringt?
(Kommandozeilenaufruf)
sn.exe -Vr MathUtil.dll
Erkläre den Kompilierungsvorgang von Managed Code. Was geht vorne rein, was sind die Schritte dazwischen, wie heisst alles, was kommt wann hinten raus?
- Der Sourcecode wird vom .NET Compiler kompiliert
- Es entsteht CIL in Form einer .dll oder .exe
- Zur Laufzeit wird der CIL von der Runtime durch den JIT zu native (Maschinencode) kompiliert.
Gibt den Namen eines Schlüsselcontainers mit dem Schlüsselpar für den Starken Namen an. Um eine Assembly mit einem starken Namen zu bilden ist es essenziell dass man ein AssemblyKeyNameAttribute oder ein AssemblyKeyFileAttribute angibt. Mit andern Worten, gibt den Strong Name an.. das .snk Ding
Für was wird das Publicize.exe tool verwendet?
Das ist ein Command Line Tool das eine Assembly generiert, die public types hat. Diese public types binden alle privaten Typen einer anderen Assembly. Dies kann einem helfen Unit Tests zu erzeugen die private Typen einsehen wollen.
Ich habe 2 Möglichkeiten zu erreichen, dass eine Anwendung eine shared Assembly mit neuer Version verwendet. Welche sind das?
- Im Config File einen <bindingRedirect> einfügen, dass alle Verweise auf die neue Assembly zeigen
- Über die Publisher Policy im GAC
In welcher Beziehung stehen CLR und CLI?
Die CLR ist Microsofts Implementation der CLI