Die wichtigsten Neuerungen von .NET 4.5.1, Visual Studio 2013 und TFS 2013

Microsoft forciert die kürzeren Produktzyklen: .NET Framework 4.5 und Visual Studio 2012 sind noch kein Jahr alt, da lieferte der Konzern zur diesjährigen BUILD-Konferenz schon Previews für neue Releases von .NET, Visual Studio und Team Foundation Server. Die fertigen Produkte sollen noch dieses Jahr erscheinen.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Lesezeit: 22 Min.
Von
  • Dr. Holger Schwichtenberg
Inhaltsverzeichnis

Microsoft forciert die kürzeren Produktzyklen: .NET Framework 4.5 und Visual Studio 2012 sind noch kein Jahr alt, da lieferte der Konzern zur diesjährigen BUILD-Konferenz schon Previews für neue Releases von .NET, Visual Studio und Team Foundation Server. Die fertigen Produkte sollen noch dieses Jahr erscheinen.

Wie das .NET Framework 4.5 ist .NET 4.5.1 ein "in-place update". Das soll heißen: Das Installationspaket ergänzt ein vorhandenes .NET 4.0 oder 4.5 und ändert einige Interna. Die Versionsnummer aller Assemblies bleibt aber an den ersten drei Stellen weiterhin gleich (4.0.30319). Lediglich an der vierten Stelle kann man .NET 4.5.1 vom Vorgänger unterscheiden (siehe Tabelle 1). .NET 4.5.1 wird mit Windows 8.1 mitgeliefert und ist für die gleichen Plattformen (also ab Windows Vista bzw. Windows Server 2008) verfügbar. Die letzte Hoffnung einiger Windows-XP-Veteranen, auch in den Genuss von .NET 4.5 zu kommen, ist damit wohl gestorben. Denn die Preview gibt es als eigenständigen Download oder als automatisch installierten Teil der Previews von Windows 8.1, Windows Server 2012 und Visual Studio 2013. Auch Language Packs bietet Microsoft wieder an.

.NET-Version 4.5 4.5.1
Status RTM-Version August 2012 Preview Juni 2013
DLL-Versionen 4.0.30319.17929 4.0.30319.32559
Anzahl der Dateien im .NET-Framework-Verzeichnis 574 575

Bei Betrachtung des .NET-Installationsverzeichnisses stellt man fest, dass alle bisher in .NET 4.5 vorhandenen Dateien in .NET 4.5.1 zu finden sind. Lediglich eine ist hinzugekommen: System.Threading.Timer.dll. Diese ist aber keine neue Bibliothek, sondern soll wohl dazu dienen, zwei bisher in mscorlib.dll beheimatete Klassen auszulagern: Timer und TimerCallback. Ein Blick in die DLL mit ILSpy offenbart aber, dass dort derzeit nur ein Type Forward hinterlegt ist.

Eine weitere forensische Analyse von .NET 4.5.1 zeigt: Es gibt im Kern keine neuen Klassen. Alle Änderungen betreffen Interna der Implementierung von Laufzeitumgebung und Bibliotheken. Neue Klassen gibt es nur in Zusatzbibliotheken wie Entity Framework 6.0 und ASP.NET Identity 1.0.

In der derzeitigen Version der .NET-Dokumentation im Microsoft Developer Network ist die Darstellung etwas unglücklich, weil die Webseite nicht zwischen .NET 4.5 und .NET 4.5.1 differenziert. So erscheint die Property LargeObjectHeapCompactionMode in der Klasse System.Runtime.GCSettings unter ".NET Framework 4.5" (s. Abb. 1), obwohl sie neu in .NET 4.5.1 ist. Ein Hinweis auf das dazu notwendige Update fehlt auf der Seite. Immerhin wird im Dokument "What's New in the .NET Framework 4.5" auf einige neue Features der Version 4.5.1 hingewiesen.

In der MSDN-Dokumentation unterscheidet Microsoft leider nicht zwischen .NET 4.5 und .NET 4.5.1 (Abb. 1)

Ein wesentliches neues Feature ist die Wiederaufnahme abgebrochener Datenbankverbindungen in ADO.NET. Bisher mussten sich Entwickler selbst darum kümmern, dass eine wegen fehlender Netzwerkverbindung, Load Balancing oder Failover auf Serverseite unterbrochene Verbindung wieder neu aufgebaut wird. In .NET 4.5.1 hat Microsoft dazu ein Feature namens "ADO.NET Connection Resiliency" integriert, das dafür sorgt, dass im Fall des Abbruchs einer momentan ungenutzten Verbindung diese bei der nächsten Anforderung wieder aufgebaut wird, ohne dass im Programmcode dazu etwas zu tun ist. Von diesem Feature profitieren automatisch alle auf ADO.NET aufbauenden Datenzugriffs-Frameworks und objektrelationalen Mapper wie das Entity Framework. Weiterhin kommt es aber zum Laufzeitfehler in der Anwendung, wenn während einer Datenbankoperation ein Verbindungsabbruch geschieht. Das ist auch sinnvoll, da hier mannigfaltige Möglichkeiten existieren, je nachdem wie weit die Operation fortgeschritten ist und an welcher Stelle weiterzuarbeiten ist.

Auch im Bereich ASP.NET geht es um die Wiederaufnahme, hier allerdings gibt es in .NET 4.5.1 in Verbindung mit Windows Server 2012 Release 2 nun einen gewollten "Schlummermodus" (ASP.NET Application Suspension) für Websites, die keine HTTP-Anfragen erhalten. Die Version 8.5 der Internet Information Services (IIS) in Windows Server 2012 Release 2 erlaubt unter dem Begriff "Idle Worker Process Page-out" das Einstellen eines Zeitraums ohne Anfragen, nach dessen Ablauf sich alle ASP.NET-Websites in einem Application Pool in das Windows Page File auslagern lassen. Microsoft hat dieses Verfahren für das Hosting von Websites in Windows Azure entwickelt und es nun in den Windows Server portiert. Nach Microsofts Messungen kann ein Webserver damit bis zu sieben Mal mehr Websites hosten, und die Startzeit von Websites reduziert sich um bis zu 90 Prozent. Die Messdaten basieren auf einem Server mit 20 GByte RAM und SDD-Platten für die Auslagerungsdatei.

Microsoft hat in .NET 4.5.1 die Zusammenarbeit mit der in Windows 8 eingeführten, COM-basierten Windows Runtime Library (WinRT) zur Entwicklung von Apps verbessert. In Windows 8.1 sieht der Entwickler in Laufzeitfehlerobjekten wieder häufiger eine sprechende Fehlermeldung statt der kryptischen HResult-Hexadezimalzahlen. Auch XML-Kommentartexte sind bei WinRT-Projekten nun sprachübergreifend in der Entwicklungsumgebung als Tooltip sichtbar. Die Programmierung im Bereich Netzwerk und Dateisystem hat der Konzern vereinfacht: Die neue Erweiterungsmethode AsRandomAccessStream() konvertiert einen .NET-Stream in das WinRT-Pendant, den Random Access Stream. Last, but not least können WinRT-Softwarekomponenten nun auch wertelose Wertetypen (Nullable Value Types) in structs haben.

Der Konzern hat in diesem Update abermals einige Überarbeitungen am Kern des .NET Framework, der Common Language Runtime (CLR), vorgenommen, um Leistung und Debugging zu verbessern. Ein von einigen Entwicklern nachgefragtes Thema war mehr Kontrolle über die Garbage Collection. Entwickler können nun dem Garbage Collector befehlen, entweder unverzüglich oder beim nächsten automatischen Lauf, den sogenannten Large Objects Heap (LOH) für Objekte mit einer Größe von mehr als 85.000 Bytes (vgl. hier) zu defragmentieren:

GCSettings.LOHCompactionMode = GCLOHCompationMode.CompactOnce;
GC.Collect();

Bisher entschied der Garbage Collector allein über Maßnahmen im LOH. Auch der Just-in-Time-Compiler hat abermals Verbesserungen erfahren. Die in .NET 4.5 eingeführte Multicore-JIT-Technik gilt jetzt in .NET 4.5.1 auch für ASP.NET-Websites sowie für dynamisch geladene Assemblies.

Ebenfalls verbessert hat Microsoft die Ausführungsdauer der nach einem Patch von .NET-Kern-DLLs notwendigen "Native Image Generation". Bisher konnte ein per Windows-Update eingespielter Fix die Startzeit von .NET-Anwendungen für eine Weile verlangsamen. Dieser Seiteneffekt soll nun auf Windows 8.1 nicht mehr so gravierend sein. Es bleibt zu wünschen, dass es diese Optimierung auch für andere Betriebssysteme geben wird.

Einige Neuheiten in .NET 4.5.1 und Visual Studio 2013 sind eng miteinander verwoben. Dazu gehört die Unterstützung für die Codebearbeitung während des Debugging (Debug Edit and Continue) auch für 64-Bit-Code. "Edit and Continue" gab es zu COM-Zeiten in Visual Studio, wurde dann in .NET 2.0/Visual Studio 2005 für .NET-Code nachgerüstet – aber nur für 32-Bit-Code (x86-Modus von Visual Studio). Beim Debugging im 64-Bit-Modus kam die Meldung: "Changes to 64-bit applications are not allowed." Der Wunsch, dass Microsoft das ermöglichen möge, war groß auf Entwicklerseite. .NET 4.5.1 und Visual Studio 2013 können das nun in den meisten Fällen. Ausgenommen sind derzeit noch Cloud-Services-Projekte mit Windows Azure sowie Lambda-Ausdrücke und anonyme Methoden. Letztere Einschränkungen gelten weiterhin auch für den x86-Modus.

C#- und Visual-Basic-Entwickler schauten bisher immer neidvoll auf den Debugger von Visual C++, der schon länger beim Debugging auch die Rückgabewerte von Methoden anzeigen konnte, ohne dass man dafür innerhalb der Methode diesen Wert zwingend zuerst in eine lokale Variable speichern musste. Abbildung 2 zeigt, dass das nun auch mit anderen Programmiersprachen in Visual Studio 2013 möglich ist, wahlweise in den "Auto"- und "Watch"-Variablenfenstern oder durch Abruf von $ReturnValue im "Immediate"-Fenster.

Anzeige der Rückgabewerte eines Methodenaufrufs (Abb. 2)

Ebenso ist das Debugging asynchroner Methoden übersichtlicher geworden, da der Call Stack nun nicht mehr alle involvierten internen Routinen der Task Parallel Library, sondern diese nur noch als [External Code] zu einem Eintrag zusammengefasst wird. Der Entwickler sieht stattdessen im Stack Trace immer den Ausgangspunkt des asynchronen Aufrufs. Das bisherige "Parallel Task"-Fenster hat Microsoft in "Tasks" umbenannt und um Zustandsinformationen zu den laufenden Tasks ergänzt.

Auf der BUILD-Konferenz hat Microsoft-Chef Steve Ballmer auch einige Ankündigungen zu den zukünftigen Veröffentlichungszyklen gemacht. Zunächst einmal wollen die Redmonder grundsätzlich die Releasezyklen verkürzen, wie man jetzt an der schnellen Abfolge bei Windows, .NET und Visual Studio sieht. Microsoft sagt, dass viele kleine und mittelgroße Softwareunternehmen eine kontinuierliche Innovation fordern. Größere Konzerne und sensible Branchen hingegen wünschen sich längere Veröffentlichungszyklen.

Microsoft möchte es beiden Gruppen recht machen, indem einerseits die Veröffentlichungszyklen verkürzt werden, andererseits das .NET Framework zukünftig stärker modularisiert wird, sodass die Unternehmen selbst wählen können, welche Aktualisierungen sie nutzen und welche nicht. Diesen Weg beschreitet Microsoft letztlich seit einiger Zeit mit ASP.NET MVC, ASP.NET Web API, ADO.NET Entity Framework und WCF Data Services. Diese Techniken werden unabhängig von den Veröffentlichungszyklen des .NET Framework entwickelt, versioniert und über das Portal nuget.org verbreitet. Ab sofort bietet Microsoft im Web eine Liste von NuGet-Paketen an, die vom .NET-Framework-Entwicklungsteam stammen und damit den Status eines "offiziellen .NET-Erweiterungsmoduls" haben – in Abgrenzung zu den vielen Hundert NuGet-Paketen anderer Entwickler. Diese offizielle .NET-Paketliste zeigt Visual Studio 2013 im Package Manager in einer eigenen Rubrik an (s. Abb. 3). Die Module wird Microsoft zukünftig auch über das Windows-Update mit Hotfixes versorgen – sofern die Anwendung auf .NET 4.5.1 läuft.

Ein neuer Ast ".NET Framework Packages" im Paket-Manager in Visual Studio 2013 (Abb. 3)

Visual Studio 2013 liefert einige dieser Zusatzkomponenten schon mit. Dazu gehört das Entity Framework 6.0 mit Unterstützung für asynchrone Datenbankzugriffe, Generierung von Stored Procedures für Insert, Delete und Update sowie das Erstellen eigener Konventionen im Code-First-Vorgehensmodell. Eine weitere Zusatzkomponente ist ASP.NET Identity. Anstelle des in ASP.NET 2.0 eingeführten Membership-Systems tritt nun ein im Namensraum Microsoft.Asp.Identity realisiertes neues Modell für die Benutzer- und Rollenverwaltung, das einheitlich für alle Varianten von ASP.NET gilt und unterschiedliche Authentifizierungs-Provider (nicht nur lokale Datenbank und Active Directory, sondern auch Cloud-Dienste wie Azure Active Director, Microsoft Accounts, Facebook, Google, Twitter u. a.) unterstützt.

Während die bisher genannten neuen Visual-Studio-Features von .NET Framework 4.5.1 abhängen, gibt es zahlreiche weitere Funktionen, die für alle Projekte unterstützt werden. Als "Connected IDE" bezeichnet Microsoft die Synchronisierung von Visual-Studio-Einstellungen zwischen mehreren Systemen (Roaming Settings) über die Microsoft-Cloud – ein Vorteil für Entwickler, die Visual Studio auf mehr als einem Computer nutzen. Der Softwareentwickler muss sich dazu mit einem Microsoft-Account, zum Beispiel MSDN oder Team Foundation Service, in Visual Studio anmelden ("Sign In" in der Symbolleiste oben rechts). Er kann die zu synchronisierenden Einstellungen in fünf Kategorien (Appearance, Aliases, Keyboard Shortcuts, Startup und Texteditor) wählen. Die Anmeldung legt Microsoft dem Benutzer auch beim ersten Start nahe. Neben der bisherigen Auswahl eines Schemas für die "Development Settings" ist nun vor dem ersten Start der Entwicklungsumgebung die Auswahl eines Farbschemata möglich: Neben "Dark" und "Light" gibt es nun "Blue", das an Visual Studio 2010 erinnert. Selbst in Symbolleisten rudert Microsoft zurück und spendiert mehr Farbe (z. B. sind Ordner-Symbole wieder gelb), wo es in Visual Studio 2012 nur "Grau in Grau" gab. Über den Smiley in der Fensterleiste (s. Abb. 4) kann der Benutzer direkt Feedback an Microsoft geben und die Rückmeldung wahlweise als Bug deklarieren und mit seiner E-Mail-Adresse versehen oder anonym abgeben.

Ein Benutzer ist mit seinem Microsoft Account in Visual Studio 2013 angemeldet (Abb. 4).

Hinsichtlich der Projektarten unterstützt Visual Studio 2013 genau wie der Vorgänger alle .NET-Versionen seit 2.0. Wenn im Multi-Targeting nicht alle Versionen zu sehen sind, liegt das nur daran, dass die entsprechenden Framework-Versionen nicht auf dem Entwicklerrechner installiert sind. Neu für den Umgang mit verschiedenen Versionen ist "Automatic Binding Redirection". Wenn ein Projekt mehrere Versionen einer .NET-Assembly benötigt, erzeugt Visual Studio 2013 automatisch Konfigurationseinträge, die auf die Verwendung der neuesten Version umlenken.

Unter dem Slogan "One ASP.NET" versteht Microsoft die Vereinheitlichung der Projektvorlagen für alle ASP.NET-Varianten (Webforms, MVC, Web API), für die es bisher eigenständige Vorlagen gab. Nach der Auswahl der Vorlage "ASP.NET Web Application" erhält der Entwickler einen Unterdialog, in dem er die zu unterstützenden Web-Frameworks auswählen kann. Er kann somit in einer Webanwendung Webforms, MVC und Web API mischen. Die vorlagenbasierte Generierung von Webseiten (Scaffolding) aus ASP.NET MVC gibt es nun auch für Webforms. Als zusätzliches JavaScript-Framework liefert Microsoft nun Twitters Bootstrap mit.

Für Windows Azure bietet Visual Studio 2013 im "Server Explorer" nun die direkte Verbindung zu Azure Mobile Services und Azure Websites. Entwickler können derzeit nur Mobile-Services-Instanzen direkt in Visual Studio anlegen und die Node.js-Skripte editieren, was bisher nur unkomfortabel über ein Webportal ging. Zugang zu weiteren Azure-Diensten sollen mit dem nächsten Azure SDK ergänzt werden.

LightSwitch-Projekte teilen die Metadaten des Projekts nun auf viele kleine .lsml-Dateien auf, damit sich bei der Arbeit im Team die Konflikte verringern. Zudem sind bei LightSwitch die bisherigen Ansichten "Logical View" und "File View" zu einer Ansicht vereinheitlicht.

In den Editoren für C# und C++ gibt es nun das automatische Einfügen der schließenden Klammern, das Microsoft vorher nur als Power Tool Add-on lieferte. Bei C++ fügt sich auch das Semikolon am Zeilenende automatisch ein. "Code Information Indicators" (oder CodeLens) nennt Microsoft ein neues Feature, das zu jeder Klasse und jedem Klassenmitglied anzeigt, wie viele Verweise es im Programmcode darauf gibt. Die Liste der Verweise kann sich der Entwickler anzeigen lassen, und zu jeder Fundstelle sieht er eine Vorschau (s. Abb. 5). Eine Vorschau auf eine Definition erhält er auch mit dem neuen Kontextmenüpunkt "Peek Definition". CodeLens kann weitere Informationen wie die Anzahl der Tests für eine Methode und der ins Quellcodesystem eingespeisten Änderungen sowie den Namen des letzten Bearbeiters anzeigen. Die CodeLens-Indikatoren liegen nicht in der Quellcodedatei selbst, sondern werden von Visual Studio nur im Editor ad hoc eingeblendet. Sie bekommen daher keine Zeilennummer.

Die Laufleiste zeigte in farbigen Blöcken bisher nur die Orte der letzten Änderungen an. Nun sieht man auch Haltepunkte und Lesezeichen. Alternativ zur bisherigen schmalen Darstellung bietet die Leiste jetzt eine kleine Code-Vorschau (Map Mode). Auch dieses Feature wurde aus den Power Tools ins Hauptprodukt übernommen. Mit Strg + kann der Entwickler einen neuen Navigationsdialog aufrufen, der nicht wie das "Navigate To"-Fenster bisher ein modaler Dialog ist, sondern sich in die rechte obere Ecke des Editorfensters hängt, wo seit Visual Studio 2012 auch der Suchen-Dialog klebt. Ein einfacher Klick auf einen gefundenen Eintrag zeigt eine Vorschau, ohne die Datei dauerhaft zu öffnen.

CodeLens zeigt alle Referenzen auf die Klasse "Kunde" (Abb. 5)

Auch beim XAML-Editor für WPF-, Silverlight- und WinRT-Apps bietet Visual Studio 2013 nun einige neue Komfortfunktionen. Herausragend sind die IntelliSense-Eingaben für Datenbindungsausdrücke sowie die "Goto Definition"-Unterstützung für Tags, Datenbindungsausdrücke und Styles. Das beschleunigt die tägliche Programmierarbeit gerade beim Einsatz des beliebten MVVM-Pattern (Model View ViewModel) erheblich. Auch die aus anderen Editoren bekannten Programmcodeschnippsel gibt es nun im XAML-Editor. Wie beim HTML-Editor hält der Editor für XAML öffnende und schließende Tags synchron und entfernt überflüssige schließende Tags. Das Fenster "Document Outline" unterstützt jetzt Drag & Drop von Steuerelementen aus der Toolbox. Das "Responsiveness Tool" zum Auffinden von Leistungsanomalien, das Microsoft in Visual Studio 2012 Update 2 für mit HTML geschriebene Windows Store Apps lieferte, gibt es nun auch für XAML-Apps. Weiterhin sind Code-gesteuerte Oberflächentests jetzt für XAML-basierte Windows Store Apps möglich.

Den HTML-Editor hat Microsoft von Grund auf neu mmit Verbesserungen bei der IntelliSense und automatischen Einrückung geschrieben. Allerdings gilt der neue Editor zunächst nur für HTML- und Razor-Dateien (.cshtml, .vbhtml). Webforms-Dateien (.aspx, .ascx), Webapps für Windows 8 werden in Visual Studio 2013 noch nicht in diesen Genuss kommen.

Verbesserungen erfährt auch der JavaScript-Editor, der dem Komfort anderer Spracheditoren immer noch weit hinterher hängt. Über eine Navigationsleiste am oberen Rand des Editor-Fensters kann der Entwickler nun direkt JavaScript-Funktionen in der geöffneten Programmcodedatei anspringen. Darüber hinaus kann man im DOM-Explorer nun suchen und direkt Änderungen mit IntelliSense-Unterstützung vornehmen. Auch die JavaScript-Konsole hat IntelliSense sowie eine Objektvorschau. Im Designer-Werkzeug Blend, das bei Visual Studio mittlerweile mitgeliefert wird, kann man zeitgesteuerte Änderungen am CSS über einen Zeitstrahl-Editor definieren, wie das bisher nur für XAML ging.

Die Funktion "View in Browser" erlaubt nun, eine Webseite direkt in mehreren Browsern gleichzeitig zu öffnen. Über "Browser Link" kann Visual Studio allen so gestarteten Browsern die Anweisung senden, eine Seite neu zu laden, was hilfreich ist, wenn man eine Änderung an der Seite oder am CSS vorgenommen hat.

Viele Jahren haben die Microsoft-Entwickler darauf gewartet: Beim umfangreichen Einstellungsdialog von Visual Studio können sie nun die Fenstergröße ändern, und es gibt ein Suchfeld für Einstellungen.

Es gibt auch eine neue Version des Team Foundation Server (TFS), wobei wie bisher einige Funktionen des TFS 2013 so eng mit Visual Studio 2013 verwoben sind, dass sie nur in dieser Kombination laufen. TFS 2013 unterstützt PowerShell- und Windows Batch-Skripte vor und nach MSBuild-Prozessen; damit sollen Entwickler weniger häufig den Bedarf verspüren, den Build-Prozess selbst anpassen zu wollen. Wer das dennoch muss, profitiert von einer vereinfachten Vorlage für den Standard-Build-Prozess.

Microsoft öffnet sich bei der Quellcodeverwaltung weiter in Richtung Git. Seit August 2012 gibt es GIT-TF als Integration zwischen lokalen Git-Repositories und einer zentralen TFS-Versionsverwaltung. Visual Studio 2013 lässt sich nun direkt mit Git-Repositories verbinden: In den Optionen der IDE findet man neben dem Source-Control-Plug-in für den Team Foundation Server nun ein solches für Git. Der Entwickler kann mit lokalen und entfernten Git-Repositories (z. B. GitHub) arbeiten und Git-Funktionen wie Branching und Merging direkt aus dem Team Explorer heraus verwenden. TFS 2013 erlaubt außerdem, die Quellcodeverwaltung komplett in Git anstelle der bisherigen TFS-Datenbank zu führen. Viele, aber nicht alle ALM-Funktionen sind auch mit Git verfügbar. Verzichten muss der Entwickler zum Beispiel auf Gated Check-Ins, ein in TFS 2008 eingeführtes Feature, das Check-ins ablehnt, die sich nicht korrekt auf dem Server übersetzen lassen.

Der Team Explorer hat neben der Git-Integration weitere Neuerungen erfahren: Für jedes Projekt gibt es eine Startseite im Kachel-Stil mit Zugang zu den wichtigsten Gebieten (siehe rechter Teil von Abb. 6). Viele (aber noch nicht alle) Ansichten des Team Explorer kann man nun in eigenständige Fenster ablösen (siehe linker Teil). Microsoft reagierte damit auf den Wunsch vieler Benutzer, das Check-in-Fenster wieder eigenständig nutzen zu können, wie das vor Visual Studio 2012 ging.

Überarbeiteter Team Explorer mit Kacheln und der ablösbaren Ansicht "Pending Changes"(Abb. 6)

Unter "Agile Portfolio Management" versteht Microsoft die Hierarchisierung des agilen Backlogs. Einträge im Backlog können in anderen Einträgen aufgebrochen werden, um unterschiedliche Betrachtungslevel (Epics, Szenarien, Features, User Stories etc.) zu ermöglichen.

Der "Team Room" ist ein neuer Chat-Bereich in der TFS-Website, in der neben Diskussionen der Teammitglieder auch Ereignisse wie Check-ins, Änderungen an Work Items und der Status serverseitiger Builds für alle Teammitglieder sichtbar sind.

Lasttests sind in Visual Studio 2013 nicht nur wie bisher mit lokalen Agenten, sondern auch im Rahmen des Team Foundation Service, der Cloud-Variante von Microsoft ALM-Server, möglich. Für Windows Store Apps liefert der neue "Energy Consumption Profiler" eine Schätzung für den Stromverbrauch in Milliwattstunden sowie die Nutzung der Datenverbindung.

Schließlich hat Microsoft die Software InRelease von der Firma InCycle übernommen, mit der sich Softwareveröffentlichungs-Workflows definieren und automatisieren lassen. InRelease soll zukünftig Bestandteil einer TFS-Lizenz werden.

Man erinnere sich an .NET 3.5.1 (alias .NET 3.5 Service Pack 1), das mit ADO.NET Entity Framework, WCF Data Services und ASP.NET Dynamic Data drei umfangreiche neue Bibliotheken lieferte. Während damals unverständlich war, dass sich lediglich die dritte Stelle der Versionsnummer änderte, ist die Nummer 4.5.1 für das aktuelle Release gerechtfertigt. Die Änderungen sind fein, aber vergleichsweise klein.

Die Liste der neuen Funktionen in Visual Studio 2013 ist hingegen wesentlich umfangreicher; nicht alles konnte hier erwähnt werden. Nach dem Erscheinen von zwei Updates zu Visual Studio 2012 mit neuen Features hätte man vermuten können, dass Microsoft nicht mehr viel auf Lager für eine neue Hauptversion hat. Aber der Beitrag hat gezeigt, dass Microsoft die Entwicklung weiterhin zügig vorantreibt.

Dr. Holger Schwichtenberg
leitet das Expertennetzwerk www.IT-Visions.de, das Beratung, Schulungen und Softwareentwicklung im .NET-Umfeld anbietet. Er hält Vorträge auf Fachkonferenzen und ist Autor zahlreicher Fachbücher.
Zu .NET 4.5.1, Visual Studio 2013, TFS 2013 und Windows 8.1 organisiert er außerdem wieder eintägige Infotage, und zwar am 11. September in Essen, 4. November in München und 14. November in Graz. (ane)