Übersicht über .NET FrameworkOverview of the .NET Framework

Beim .NET Framework handelt es sich um eine Technologie, mit der die Entwicklung und Ausführung von App und XML-Webdiensten der nächsten Generation unterstützt wird.The .NET Framework is a technology that supports building and running the next generation of apps and XML Web services. .NET Framework wurde im Hinblick auf folgende Zielsetzungen entwickelt:The .NET Framework is designed to fulfill the following objectives:

  • Bereitstellung einer konsistenten, objektorientierten Programmierumgebung, in der Objektcode gespeichert wird. Die Ausführung erfolgt dann entweder lokal oder über Remotezugriff bzw. lokal mit Verteilung über das Internet.To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.

  • Bereitstellung einer Codeausführungsumgebung, mit der Konflikte bei der Softwarebereitstellung und Versionskonflikte auf ein Minimum beschränkt werden.To provide a code-execution environment that minimizes software deployment and versioning conflicts.

  • Bereitstellung einer Codeausführungsumgebung, die eine sichere Ausführung ermöglicht, und zwar auch von Code, der von unbekannten oder nur halb-vertrauenswürdigen Dritten erstellt wurde.To provide a code-execution environment that promotes safe execution of code, including code created by an unknown or semi-trusted third party.

  • Bereitstellung einer Codeausführungsumgebung, die nicht mehr die bei interpretations- oder skriptbasierten Umgebungen auftretenden Leistungsprobleme aufweist.To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.

  • Schaffung einer konsistenten Entwicklungsumgebung für die verschiedensten Typen von Apps, wie beispielsweise Windows- und webbasierte Apps.To make the developer experience consistent across widely varying types of apps, such as Windows-based apps and Web-based apps.

  • Aufbau der gesamten Kommunikation auf Industriestandards, um die Integration von Code, der auf .NET Framework basiert, in jeden anderen Code zu gewährleisten.To build all communication on industry standards to ensure that code based on the .NET Framework integrates with any other code.

Hinweis

Eine allgemeine Einführung in .NET Framework für Benutzer und Entwickler erhalten Sie unter Erste Schritte.For a general introduction to the .NET Framework for both users and developers, see Getting Started.

Das .NET Framework besteht aus der Common Language Runtime (CLR) und der .NET Framework-Klassenbibliothek.The .NET Framework consists of the common language runtime (CLR) and the .NET Framework class library. .NET Framework setzt auf der Common Language Runtime auf.The common language runtime is the foundation of the .NET Framework. Stellen Sie sich die Common Language Runtime als Agent vor, der zum Ausführungszeitpunkt Code verwaltet sowie Basisdienste wie Speicherverwaltung, Threadverwaltung und Remoting bereitstellt. Er erzwingt gleichzeitig strikte Typsicherheit und andere Formen der Codegenauigkeit, mit denen Sicherheit und Zuverlässigkeit unterstützt werden.Think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that promote security and robustness. Das Konzept der Codeverwaltung ist ein fundamentales Prinzip der Laufzeitumgebung.In fact, the concept of code management is a fundamental principle of the runtime. Code, der die Laufzeit zum Ziel hat, wird als verwalteter Code bezeichnet, während Code, der nicht auf die Laufzeit abzielt, als nicht verwalteter Code gilt.Code that targets the runtime is known as managed code, while code that doesn't target the runtime is known as unmanaged code. Die Klassenbibliothek, ist eine umfassende, objektorientierte Auflistung wiederverwendbarer Typen für die Entwicklung vielfältiger Apps, z. B. solcher mit herkömmlicher Befehlszeile oder grafischer Benutzeroberfläche (GUI), bis hin zu Apps, die auf den neuesten Innovationen von ASP.NET, wie beispielsweise Web Forms und XML-Webdiensten, basieren.The class library is a comprehensive, object-oriented collection of reusable types that you use to develop apps ranging from traditional command-line or graphical user interface (GUI) apps to apps based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.

.NET Framework kann von nicht verwalteten Komponenten gehostet werden, durch die die Common Language Runtime in die Prozesse geladen und die Ausführung verwalteten Codes initiiert wird. So entsteht eine Softwareumgebung, in der sowohl verwaltete als auch nicht verwaltete Features genutzt werden.The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that exploits both managed and unmanaged features. .NET Framework stellt nicht nur mehrere Laufzeithosts bereit, sondern unterstützt auch die Entwicklung von Laufzeithosts von Drittanbietern.The .NET Framework not only provides several runtime hosts but also supports the development of third-party runtime hosts.

So dient beispielsweise ASP.NET als Laufzeithost und stellt eine skalierbare, serverseitige Umgebung für verwalteten Code bereit.For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET arbeitet direkt mit der Common Language Runtime und aktiviert ASP.NET-Apps sowie XML-Webdienste, die weiter unten in diesem Thema behandelt werden.ASP.NET works directly with the runtime to enable ASP.NET apps and XML Web services, both of which are discussed later in this topic.

Internet Explorer ist ein Beispiel für eine nicht verwaltete App, die die Laufzeit (als MIME-Typerweiterung) hostet.Internet Explorer is an example of an unmanaged app that hosts the runtime (in the form of a MIME type extension). Mit Internet Explorer als Laufzeithost können Sie verwaltete Komponenten oder Steuerelemente für Windows Forms in HTML-Dokumente einbetten.Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Ein derartiges Hosten der Laufzeit ermöglicht verwalteten mobilen Code, aber mit erheblichen Verbesserungen, wie sie nur verwalteter Code bietet, beispielsweise die Ausführung von halb-vertrauenswürdigem Code sowie isolierter Dateispeicher.Hosting the runtime in this way makes managed mobile code possible, but with significant improvements that only managed code offers, such as semi-trusted execution and isolated file storage.

In der folgenden Abbildung ist die Beziehung der Common Language Runtime und der Klassenbibliothek zu den Apps und dem Gesamtsystem dargestellt.The following illustration shows the relationship of the common language runtime and the class library to your apps and to the overall system. Außerdem geht aus der Abbildung hervor, wie verwalteter Code innerhalb einer größeren Architektur operiert.The illustration also shows how managed code operates within a larger architecture.

Managed code within a larger architecture (Verwalteter Code innerhalb einer größeren Architektur) .NET Framework im KontextManaged code within a larger architecture .NET Framework in context

In den folgenden Abschnitten werden die Hauptfunktionen von .NET Framework genauer beschrieben.The following sections describe the main features of the .NET Framework in greater detail.

Features der Common Language RuntimeFeatures of the common language runtime

Die Common Language Runtime verwaltet Speicher, Thread- und Codeausführung, Überprüfung der Codesicherheit, Kompilierung und andere Systemdienste.The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. Diese Features sind in den verwalteten Code integriert, der durch die Common Language Runtime ausgeführt wird.These features are intrinsic to the managed code that runs on the common language runtime.

Aus Sicherheitsgründen werden verwalteten Komponenten unterschiedliche Vertrauensstufen zugewiesen, die von mehreren Faktoren abhängen, zu denen auch der Ursprung (z. B. das Internet, ein Intranet oder ein lokaler Computer) zählt.Regarding security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). Das bedeutet, dass eine verwaltete Komponente je nachdem auf Dateien und die Registrierung zugreifen bzw. andere sensible Funktionen ausführen kann oder ihr der Zugriff untersagt ist, selbst wenn sie in derselben aktiven App verwendet wird.This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it's used in the same active app.

Durch die Implementierung des allgemeinen Typsystems (Common Type System; CTS), einer Infrastruktur mit strikter Typ- und Codeüberprüfung, erzwingt die Common Language Runtime außerdem die Coderobustheit.The runtime also enforces code robustness by implementing a strict type-and-code-verification infrastructure called the common type system (CTS). Durch das CTS wird sichergestellt, dass der gesamte verwaltete Code sich selbst beschreibt.The CTS ensures that all managed code is self-describing. Die verschieden Sprachcompiler von Microsoft und von Drittanbietern generieren verwalteten Code, der dem CTS entspricht.The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. Dies bedeutet, dass verwalteter Code andere verwaltete Typen und Instanzen nutzen und gleichzeitig streng Typtreue und Typsicherheit erzwingen kann.This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety.

Außerdem werden durch eine verwaltete Laufzeitumgebung viele bekannte Softwareprobleme beseitigt.In addition, the managed environment of the runtime eliminates many common software issues. So verarbeitet die Common Language Runtime beispielsweise automatisch das Objektlayout, verwaltet Objektreferenzen und gibt diese wieder frei, wenn sie nicht mehr verwendet werden.For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. Durch diese automatische Speicherverwaltung werden Speicherverluste und ungültige Speicherreferenzen, die beiden häufigsten App-Fehler, beseitigt.This automatic memory management resolves the two most common app errors, memory leaks and invalid memory references.

Die Produktivität der Entwickler wird außerdem durch die Common Language Runtime erhöht.The runtime also accelerates developer productivity. So können Programmierer beispielsweise Apps in der von ihnen bevorzugten Programmiersprache schreiben und trotzdem die Common Language Runtime, die Klassenbibliothek und die in anderen Sprachen von anderen Entwicklern geschriebenen Komponenten in vollem Umfang nutzen.For example, programmers write apps in their development language of choice yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Jeder Compileranbieter, der die Laufzeit zum Ziel hat, kann entsprechend vorgehen.Any compiler vendor who chooses to target the runtime can do so. Sprachcompiler, die .NET Framework zum Ziel haben, stellen die .NET Framework-Features bereits bestehendem Code in der jeweiligen Sprache zur Verfügung und erleichtern damit nicht unerheblich den Migrationsprozess für bestehende Apps.Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing apps.

Die Common Language Runtime wurde zwar für die Software von morgen entwickelt, unterstützt aber auch aktuelle und ältere Anwendungen.While the runtime is designed for the software of the future, it also supports software of today and yesterday. Durch die Interoperabilität zwischen verwaltetem und nicht verwaltetem Code können Entwickler weiterhin benötigte COM-Komponenten und DLLs verwenden.Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.

Bei der Common Language Runtime wurde auch die Leistungssteigerung berücksichtigt.The runtime is designed to enhance performance. Obwohl die Common Language Runtime viele Standardlaufzeitdienste bereitstellt, wird verwalteter Code nicht interpretiert.Although the common language runtime provides many standard runtime services, managed code is never interpreted. Durch die JIT-Kompilierung, ein Feature für das Just-in-Time-Kompilieren (JIT), kann der gesamte verwaltete Code in der nativen Maschinensprache des jeweiligen Systems ausgeführt werden.A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it's executing. Währenddessen verhindert die Speicherverwaltung die Speicherfragmentierung und erhöht zur weiteren Leistungssteigerung die lokalen Speicherverweise.Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance.

Schließlich kann die Common Language Runtime auch von hochleistungsfähigen, serverseitigen Apps wie Microsoft SQL Server und Internetinformationsdiensten (IIS) gehostet werden.Finally, the runtime can be hosted by high-performance, server-side apps, such as Microsoft SQL Server and Internet Information Services (IIS). Diese Infrastruktur bietet die Möglichkeit, Geschäftslogik mit verwaltetem Code zu schreiben und gleichzeitig die überlegene Leistungsfähigkeit der branchenweit besten Organisationsserver zu nutzen, die Laufzeithosting unterstützen.This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry's best enterprise servers that support runtime hosting.

.NET Framework-Klassenbibliothek.NET Framework class library

Die .NET Framework-Klassenbibliothek ist eine Auflistung wiederverwendbarer Typen, die eng in die Common Language Runtime integriert sind.The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. Die Klassenbibliothek ist objektorientiert und stellt Typen bereit, von denen Ihr eigener verwalteter Code Funktionen ableitet.The class library is object oriented, providing types from which your own managed code derives functionality. Dadurch können Sie die .NET Framework-Typen problemlos verwenden und sich schneller mit den neuen Features von .NET Framework vertraut machen.This not only makes the .NET Framework types easy to use but also reduces the time associated with learning new features of the .NET Framework. Außerdem können Komponenten von Drittanbietern nahtlos in .NET Framework integriert werden.In addition, third-party components integrate seamlessly with classes in the .NET Framework.

So wird beispielsweise durch die Auflistungsklassen in .NET Framework ein Schnittstellensatz zur Entwicklung eigener Auflistungsklassen implementiert.For example, the .NET Framework collection classes implement a set of interfaces for developing your own collection classes. Ihre Auflistungsklassen fügen sich nahtlos in die .NET Framework-Klassen ein.Your collection classes blend seamlessly with the classes in the .NET Framework.

Wie von einer objektorientierten Klassenbibliothek zu erwarten, lassen sich mit den .NET Framework-Typen viele gängige Programmieraufgaben erledigen, darunter auch Zeichenfolgenverwaltung, Datenerfassung, Datenbankkonnektivität und Dateizugriff.As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access. Neben diesen Typen für normale Aufgaben beinhaltet die Klassenbibliothek auch Typen, die verschiedene spezielle Entwicklungsszenarien unterstützen.In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. Verwenden Sie NET Framework beispielsweise zur Entwicklung der folgenden Typen von Apps und Diensten:Use the .NET Framework to develop the following types of apps and services:

Die Klassen für Windows Forms bestehen aus einem umfangreichen Satz wiederverwendbarer Typen, die die Entwicklung für Windows-GUIs erheblich vereinfachen.The Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. Beim Schreiben einer ASP.NET Web Form-Apps können diese Web Forms-Klassen verwendet werden.If you write an ASP.NET Web Form app, you can use the Web Forms classes.

Siehe auchSee also

Systemanforderungen System Requirements
Installationshandbuch Installation guide
Entwicklungshandbuch Development Guide
Tools Tools
.NET Framework-Beispiele .NET Framework Samples
.NET Framework-Klassenbibliothek.NET Framework Class Library