Frage

Ich lerne zu .NET Framework verwandte Konzepte. Ich bin an einem Punkt verwirrt. Von dem, was ich den Compiler Csc.exe verstehen und Al.exe kompiliert die Dateien Anordnung bilden an den Schaltern basieren. Also meine Frage ist 1) Verschiedene Compilern in NET Framework zielt auf die CLR. So bedeutet das, dass einzelne Dateien (Code) und Ressource-Dateien kompiliert werden, um eine Einheit zu bilden und diese Anordnung wird zur Laufzeit durch die CLR ausgeführt?

2) Wie dies geschieht, wenn ich Visual Studio .NET verwenden?

Danke.

War es hilfreich?

Lösung

  1. Ja, das ist richtig. Die Baugruppe enthält die MSIL Übersetzung der Quelldateien, die die CLR wandelt in Maschinencode und ausführt.

  2. Wenn Sie den Build-Befehl in Visual Studio wählen, läuft es den Compiler entsprechend der Art von Dateien in Ihrem Projekt (zum Beispiel die C # Compiler für C # Quelldateien) und erzeugt eine Montage. (VS nicht tatsächlich ausführen csc.exe, Al.exe, etc .; es verwendet in-process-Äquivalente. Aber das Ergebnis ist im wesentlichen gleich.)

Andere Tipps

Die Antwort auf Frage 1 lautet: Ja.

Die Antwort auf Frage 2 ist die Visual Studio für Sie den Compiler aufruft und verwendet Ihre Projektdatei des Compilers mit den Informationen zu versorgen, es um die Anordnung schaffen muss.

1: ziemlich viel; beachten Sie, dass alle Dateien zusammen betrachtet werden müssen (sie sind im Allgemeinen nicht einzeln zusammengestellt und dann kombiniert), und dass technisch IL nicht „ausgeführt“ (da es keine native CPU-Anweisungen ist); es muss entweder übersetzt (durch das JIT oder NGEN) in Maschinencode, oder auf einer Plattform s ( "micro Framework") sein, es interpretiert wird. Aber das Ergebnis ist das gleiche ...

. 2: gleiche Verfahren, außer es die EXE-Dateien nicht direkt aufrufen - es ruft einfach den Code direkt

Das Konzept eines Namespace ist nicht auf die eine Baugruppe zusammen. Eine einzelne Montagearten enthalten, deren hierarchische Namen haben unterschiedliche Namespace

Wurzeln, und eine logische Namensraum root kann mehrere Baugruppen umfassen. In .NET Framework, ein Namensraum ist eine logische Entwurfszeit-Komfort zu nennen, während eine Anordnung gründet

der Name Spielraum für Typen zur Laufzeit.

Shrirang Jadhav

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top