.NET Framework 4.0 (.NET 4.0)

Eintrag zuletzt aktualisiert am: 12.03.2020

Das .NET Framework 4.0 (ursprünglich unter dem Codenamen "Hawaii" entwickelt) ist am 12.4.2010 erschienen.

In .NET 4.0 und Visual Studio 2010 sind keine Revolutionen enthalten, aber die Entwickler können sich dennoch auf viele Leckerbissen freuen. Lang ersehnt sind die Vervollständigungen bei WPF und die clientseitige Datenbindung in ASP.NET. Das Entity Framework reift deutlich. Die Workflow-Bibliothek wurde komplett neu geschreiben.

Zeitplan

Eine erste Vorab-Version ist am 28.10.2008 auf der PDC 2008 erschienen (Version 4.0.11001).
Beta 1: 13.5.2009
Beta 2: 19.10.2009
RC-Version: 10.2.2010
RTM-Version: 12.4.2010

Ausgewählte Neuerungen

CLR 4.0
  • Laden von CLR 2.0 und 4.0 in einem Prozess
  • Type Embedding: Verbesserungen für COM-Interopabilität durch Einbetten von Typen in aufrufende Assembly
  • Type Äquivalenz: Deklaration äquivalenter Schnittstellen durch Annotationen
  • Dynamic Language support: Dynamic Language Runtime (DLR) in CLR integriert
  • Code Contracts: Pre- and Postconditions für Methodenaufrufe
  • Garbage Collector sendet ein Ereignis an Anwendung, bevor er seine Arbeit beginnt.
  • Spezielle Corrupted State Exceptions

Sprachen C# 4.0 und Visual Basic 10.0
Siehe Csharp 4.0
Siehe Visual Basic 10.0

ADO.NET Entity Framework Version 4.0 (zweite Version):
  • Unterstützung für Forward Engineering/Code-First (Erzeugen der Datenbank auf Basis des Models aus dem Designer heraus. Aber kein Round Trip Engineering bei Veränderungen, d.h. Dann muss die Datenbank erst komplett gelöscht werden)
  • Persistence Ignorance: Unterstützung für ORM mit POCOs
  • Berechnete Eigenschaften (Model Definied Functions)
  • Implizites Nachladen (Lazy Loading)
  • Einfacheres Anpassen der Codegenerieren (Codegeneration ist ein Workflow der Windows Workflow Foundation)
  • Unterstützung für Table Valued Functions (TVF)

ASP.NET 4.0: Neue Programmierkonzepte
ASP.NET 4.0: Erweiterungen für AJAX-Funktionen
  • Clientseitige Steuerelemente und AJAX-Steuerelemente wie im AJAX Control Toolkit sollen zum Kern von ASP.NET gehören (z.B. TreeView, Grid, Chart, Progress Bar).
  • Clientseitige Datenbindung mit Datenquellen (Sys.Data.DataSource) und einer JavaScript-basierten Vorlagensyntax (früher "XML Script" in Zeiten von "Atlas" und den "ASP.NET AJAX Futures"), Unterstützung für Editieren, Blättern, Filtern und Sortieren
  • Animationen im Browser
  • Unterstützung für Drag&Drop
  • AJAX für Browser auf mobilen Endgeräten
  • Unterstützung für AJAX in ASP.NET MVC-Anwendungen
  • AJAX mit REST-Services

ASP.NET 4.0: Sonstiges
  • Unterstützung für eigene Zwischenspeichermechanismen (Custom Caching)
  • Unterstützung für Zwischenspeicherung mit "Velocity" (Velocity ist ein auf .NET basierendes, auf mehrere Server verteilbares Zwischerspeichersystem.)
  • Erweiterung für dynamische Datenwebseites (z.B. Filter und eigene Geschäftsobjekte als Basis)
  • Vergabe eigener Client-ID bei Serversteuerelementen
  • Verbesserung der Zugänglichkeit durch Unterstützung für WAI-ARIA

Verbesserungen in Visual Web Developer 2010 / Visual Studio 2010
  • Einfachere Veröffentlichen von Webanwendungen (verschiedene .config-Dateien, Austausch von Inhalten der Konfigurationsdatei, Veröffentlichungsasssistent für Webprojektdateien und Datenbanken)
  • CSS2-Unterstützung im Webdesigner
  • Navigationsbaum für JavaScript-Code
  • Schnellere JavaScript-IntelliSense
  • Unterstützung für Jquery
  • Build Tools für JavaScript
  • Berücksichtigung der XML-Kommentare auch im aktuellen JavaScript-Dokument

WCF 4.0
  • Verbesserungen für REST-Dienste (REST Toolkit)
  • Verbesserungen für Korrelation von nachrichten
  • Deklarative Dienstbereitstellung (XAML), Dateinamenserweiterung .xamlx
  • Neue Standards: WS-Discovery, WS-I RSP, WS-BusinessActivity, WS-I BP 1.2
  • Neue Transportprotokolle: UDP, MQ und In-Process
  • Duplex durable messaging
  • Windows Application Server "Dublin"

WF 4.0
  • Komplette Neuimplementierung von Laufzeitumgebung, Aktivitäten und Designer (Prinzipien werden aber beibehalten)
  • Komplett neuer Designers mit einfacherer Bedienung
  • Flow Charts Workflows
  • Rein XML-basierte Workflows (XAML)
  • Mehr Aktivitäten (Datenbanken, PowerShell, etc.)
  • Leistungssteigerung
  • Aktivitäten erhalten Daten durch Parameter anstelle von Dependency Properties

WPF 4.0
  • WPF Toolkit integriert (Ribbon Control, Calendar, DatePicker, DataGrid) "Business focused controls"
  • Übernahme von Funktionen aus Silverlight (Visual State Manager, Deep Zoom)
  • Multi-Touch-Unterstützung (für Windows 7)
  • Verbesserungen Text Rendering
  • Pixel Level Layout
  • Leistungssteigerungen

Sonstige Klassen (FCL 4.0)
  • Paralleles Programmieren mit PLINQ und Task Parallel Library (TPL)
  • Managed Extensiblity Framework (MEF), alias Extensible Component Model: Einfache Erweiterbarkeit von Anwendungen durch Add-Ins (Namensraum: System.ComponentModel.Composability)
  • Klasse Tupel
  • Klasse SortedSet
  • Mengenklassen für Dateien und Ordner mit Schnittstelle Ienumerable (statt wie bisher Arrays)
  • Code Contracts (Prä- und Post-Bedingungen) (Namensraum: System.Diagnostics.Contracts)
  • Große Zahlen (System.Numerics.BigInteger und System.Numerics.ComplexNumber)
  • Memory Mapped Files (System.IO.MemoryMappedFiles)
  • Verbesserungen für ResourceManager: Berücksichtigung der Windows-UI-Einstellungen