Premium Partner

98-372 Understanding .NET Code Compilation

MTA 98-372 von Microsoft. .NET Fundamentals

MTA 98-372 von Microsoft. .NET Fundamentals

Nicht sichtbar

Nicht sichtbar

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?

  1. Der Sourcecode wird vom .NET Compiler kompiliert
  2. Es entsteht CIL in Form einer .dll oder .exe
  3. Zur Laufzeit wird der CIL von der Runtime durch den JIT zu native (Maschinencode) kompiliert.

Für was ist die AssemblyKeyNameAttribute class?

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