Die in Visual Studio 2005 enthaltenen Programmiersprachen setzen auf Microsoft .NET (als "Dot Net" ausgesprochen) auf. Aber was hat es mit .NET und den im Umfeld benutzten Begriffen auf sich? Bei Microsoft .NET handelt es sich um eine Plattform, die die notwendigen Werkzeuge und Technologien bereitstellt, um Anwendungen für Microsoft Windows und andere Plattformen wie mobile Geräte (Handys, PDSs etc.) oder Web-Server zu entwickeln. Diese Anwendungen erlauben die Kommunikation mit vielen (entsprechend ausgerüsteten) Geräten wie Windows-Rechnern, Mobiltelefonen, PDA etc. Letztendlich bildet Microsoft .NET eine Architektur, die sich aus verschiedenen Bausteinen zusammensetzt.
von Günter und Benjamin Born
- Visual Studio 2005 ist dabei die neueste Microsoft-Entwicklerplattform, mit der sich Anwendungen in verschiedenen Sprachen (Visual Basic, C#, C++ etc.) erstellen lassen. Visual Studio 2005 stellt dabei eine recht mächtige Entwicklungsumgebung dar, die von der Erstellung des Quellcodes über das Testen des Codes über die Anbindung an Datenbanken bis hin zur Erstellung von Anwendungspaketen alle Schritte unterstützt. Auf die Details komme ich weiter unten noch zurück.
- .NET Framework stellt die Laufzeitumgebung für .NET-Anwendungen bereit und enthält eine sprachenunabhängige Klassenbibliothek. Diese Laufzeitumgebung sowie die Bibliothek wird Sie beim Programmieren in Visual Basic 2005 auf Schritt und Tritt begleiten. Allerdings wurde die Konzeption der .NET-Architektur nicht ausschließlich auf Windows abgestimmt. Sofern die betreffenden Clients verfügbar sind, können .NET-Anwendungen auf weiteren Geräten wie der XBox, auf Mobiltelefonen, auf PDAs etc. laufen. Microsoft entwickelt für die unterschiedlichen Geräte entsprechende Clients (z.B. .NET Framework für Windows, .NET Compact Framework als Untermenge des .NET Framework für Embedded Windows XP etc.).
- Zusätzlich umfasst die .NET-Architektur noch Funktionen zur Entwicklung von Web Services, die auf entsprechenden Servern als Softwarekomponenten bereitgestellt werden. Bei den Webservices handelt es sich um Software-Module, deren Funktionen sich über Internet, Intranet etc. mittels Standards wie XML, SOAP etc. ansprechen bzw. nutzen lassen.
Die obige Aufstellung zeigt Ihnen, dass .NET eine komplexe Sammlung an Technologien, Anwendungen und Entwicklungsumgebungen ist, die unter einer gemeinsamen Architektur vereint wurden. In diesem Buch wird sich aber darauf beschränkt, Microsoft .NET zu nutzen, um Anwendungen für Windows unter Visual Basic zu entwickeln (also das, was viele Visual-Basic-Programmierer seit Jahren tun).
Das .NET Framework
Das .NET Framework (Framework lässt sich als Rahmenwerk übersetzen) stellt die Infrastruktur für .NET-Anwendungen bereit (Abbildung 1).
- Einmal enthält das .NET Framework die Laufzeitumgebung (CLR), in der .NETAnwendungen ausgeführt werden.
- Weiterhin enthält das .NET Framework die Klassenbibliothek, die in den .NETAnwendungen benutzt werden können. Diese Klassenbibliothek bietet Funktionen zum Zugriff auf das Betriebssystem (z.B. Windows), auf das Dateisystem und vieles mehr.
Zudem enthält .NET Framework noch Compiler (C#, Visual Basic etc.) und weitere Tools, um die Programme zu übersetzen, auszuführen und zu testen. .NET Framework ist in Windows 2003 Server (sowie in zukünftigen Microsoft-Betriebssystemen) integraler Bestandteil des Betriebssystems. Unter älteren Windows-Versionen muss das .NET Framework 2.0 aber installiert werden. Andernfalls lassen sich weder .NET-Anwendungen ausführen noch entwickeln. Das .NET Framework wird dabei durch Microsoft in zwei Varianten bereitgestellt.
- .NET Framework Redistributable: Dies ist quasi die Minimalversion, die neben der Common Language Runtime (CLR) auch die .NET Framework Klassenbibliothek, ADO.NET sowie die Compiler für die jeweiligen Sprachen enthält.
- .NET Framework SDK: Dieses Software Development Kit (SDK) enthält neben den Dateien der Redistributable weitere Tools, Beispiele und Dokumentation (Online- Hilfe), die Entwickler zum Schreiben von .NET-Anwendungen benötigen.
Visual Studio 2005, Visual Basic 2005 Express Edition sowie die mit diesen Umgebungen erzeugten .NET-Anwendungen benötigen zur Ausführung die Version 2.0 des .NET Framework. Diese Version weist gegenüber den älteren 1.x-Versionen umfangreiche Änderungen und Neuerungen in den Klassenbibliotheken auf. Wenn Sie Visual Studio 2005 bzw. Visual Basic 2005 Express Edition auf einem Rechner installieren, wird automatisch das benötigte .NET Framework auf dem Entwicklungsrechner eingerichtet.
Die Common Language Runtime (CLR)
Die Common Language Runtime (CLR) ist die Laufzeitumgebung, in der .NET-Anwendungen ausgeführt werden. Die zum Erstellen von .NET-Anwendungen benutzten Compiler (C#, Visual Basic, C++ etc.) erzeugen nur einen sogenannten CIL-Zwischencode (Common Intermediate Language Code). Der Zwischencode enthält dabei Anweisungen zum Laden und Initialisieren von Objekten, zum Aufrufen der Methoden von Objekten sowie Anweisungen für arithmetische und logische Operationen, zur Ablaufsteuerung, zur Ausnahmebehandlung und zur Durchführung anderer Operationen.Der Zwischencode wird zur Laufzeit von einem Just-in-Time-Compiler in den ausführbaren Maschinencode des Zielsystems überführt. Dies erlaubt der CLR, die Ausführung des Programmcodes zu kontrollieren und Aufgaben wie die Speicherverwaltung zu übernehmen. Der in .NET-Anwendungen (.exe- oder .dll-Dateien) oder in Klassenbibliotheken hinterlegte Programmcode wird daher auch als verwalteter Code (managed Code) bezeichnet. Rufen .NET-Anwendungen allerdings Betriebssystemfunktionen (COM-Objekte oder API-Funktionen) auf, werden diese Programmteile nicht mehr unter der Kontrolle der CLR ausgeführt. Man bezeichnet dies als Ausführen von unmanaged Code. Fehler, die während der Ausführung von unmanaged Code auftreten, können nicht durch die CLR kontrolliert werden. Weitere Details zur CLR finden Sie in der Hilfe zu Visual Studio 2005 in der Rubrik ».NET-Framework-Programmierung« im Unterthema »Übersicht über .NET Framework« im Abschnitt »Common Language Runtime«.
Die .NET-Framework-Klassenbibliothek
Das .NET Framework stellt neben der Laufzeitumgebung eine Klassenbibliothek bereit, die von den .NET-Anwendungen genutzt wird. Der Pfiff dabei ist, dass der Zugriff auf die Klassenbibliothek aus jeder der in .NET benutzten Sprachen möglich ist. Ein C#-Programm benutzt also die gleiche Klassenbibliothek wie Visual Basic. Dabei sind die einzelnen Klassen über sogenannte Namensräume streng hierarchisch strukturiert. Der Namensraum (z.B. System.IO) gibt dem nutzenden Programm also genau vor, wo es in der betreffenden Bibliothek die benötigte Komponente findet. Existieren innerhalb der Klassenbibliothek zwei Komponenten gleichen Namens, lässt sich durch unterschiedliche Namensräume eindeutig die richtige Komponente identifizieren.
Sofern Sie erst in die Thematik einsteigen, können Sie sich die Klassenbibliothek wie eine fertige Werkzeugsammlung vorstellen, aus denen sich die Programmiersprache bzw. der Entwickler bedient. Wenn Sie beispielsweise eine Dateioperation in einem Programm vornehmen, verwendet das Programm die entsprechenden Funktion aus der Klassenbibliothek. Aber es geht noch weiter: Selbst die Datentypen der in .NET-Programmen benutzen Variablen werden über die Klassenbibliothek bereitgestellt.





