Inhaltsverzeichnis         

Visual Studio 2012

Was man alles vermisst:

Unter den Rotstift geraten sind:

  1. Setup- Projekte von Microsoft. Jetzt kann nur noch das Install- Shield Light geladen werden. Die obligatorische Registrierung zieht ein wenig Spam nach sich

  2. Datenbank- Diagrammdesigner im ServerExplorer: Die Funktion gibt’s ja schon in MSSQL Managment Studio.... Außerdem kann eine Datenbank mittels dem Model First- Ansatz im Entity- Framework erstellt werden.

  3. Farbe: In den Grundeinstellungen wirkt VS2012 sehr grau in grau. Ein wenig kann das Leid gelindert werden in Tools/Optionen/Umgebung/Allgemein/Farbschema → z.B. Blue

Neuerungen:

Direkter Download von Beispielprojekten

Über Datei/Neues Projekt/Online/Beispiele können Projektmappen mit Beispielprojekten direkt vom Netz (Codeplex) installiert werden

Keine Änderung am Projektformat von VS2010 Projekten in VS2012

VS2012 kann auch 2010- Projekte weiter verwalten, ohne das eine Konvertierung in das 2012- Projektformat notwendig ist. Damit kann im Team mit VS2010 weitergearbeitet werden.

Multi- Targeting erweitert

Entwicklung für .NET Versionen von 2.0 bis 4.5

Neuer .NET Projekttyp Portable Class Library

Klassenbibliotheken die garantiert mit verschiedene Laufzeitumgebungen wie .NET 2.0 – 4.5, Silverlight etc. kompatibel sind, gestattet dieser neue Projekttyp.

Beim Anlegen ist die Bandbreite der unterstützten Frameworks einzustellen. Geändert werden kann diese nachträglich unter Projekteinstellungen/Bibliothek.

Neue Projekttypen für Windows 8 Apps

Funktionieren nur unter Windows 8...

LightSwitch- als Projekt integriert

LightSwitch ist ein RAD – Tool. Es kann aus einem existierenden Datenmodell selbständig Benutzeroberfläche Ein/Ausgabe und Analyse erzeugen. Das System ist anpassbar.

Projekmappenexplorer

  1. Nun können alle Projektknoten durch einen Klick "eingeklappt" werden (Symbolleiste "Alle reduzieren")

  2. Vorschaufunktion auf eine Quelltextdatei durch Einfachklick. Datei bleibt nicht dauerhaft geöffnet

  3. Geöffnete Dateien können "festgepint" werden, damit ihre Position in der Karteireiterleiste beibehalten wird.

  4. Für jede Datei wird eine individuelle "Klassenansicht" geboten

  5. Suchfunktionen integriert. Filter schränkt dann Sicht ein. Mit Home Funktion in Symbolleiste kann wieder die ursprüngliche Ansicht hergestellt werden

    1. Für Methode einer Klasse können alle Aufrufer gefunden werden

    2. Mit Filter kann die Anzeige im Explorer z.B. auf alle geöffneten Dateien eingeschränkt werden.

  6. Jede Datei kann in einem eigenen Projektmappenexplorer Fenster geöffnet werden (Kontextmenü-> Neue Projektmappenexploreransicht)

  7. Klassendiagramm kann jetzt auch aus Projektmappenexplorer geöffnet werden

Verweis- Verwaltung

  1. Neues Fenster, zeigt explizit durch Checkbox auf die bereits Verwiesenen

  2. Suchfunktion oben rechts sucht nach Assemblynamen und Beschreibungen

NuGet Library Package Manager

Sollen in einem eigenen Projekt private Assemblies von Drittanbietern genutzt werden, dann sind folgende Schritte nötig

  1. Bibliothek mit den benötigten Funktionen im Web suchen

  2. Assemblies in das Bin- Verzeichnis downloaden

  3. Verweise im Projekt auf Assemblies anlegen

  4. Konfigurationseinstellungen in der App- oder machine.config vornehmen

Der NuGet Package- Manager automatisiert diesen Prozess. Es handelt sich hierbei um eine Erweiterung von Visual Studio ab 2010. In RC von 2012 ist NuGet Package Manager integriert. Unter www.nuget.org erfährt man näheres.

Beispiel: Installieren von Entity- Framework 5 in einem Projekt

Das ADO.NET Entity- Framework ist ein heisses Eisen: Dem Entwickler als Ersatz für das leichtgewichtige Linq To SQL von Microsoft aufgedrängt, mit Komplexität und Ineffizienz in den ersten Versionen enttäuschend und seitdem in einem radikal rücksichtslosen Entwicklungsprozess befindlich – ein guter Kandidat für projektspezifische Installationen, wie sie NuGet vereinfacht.

Im Beispiel wird dem Projekt DB.Kepler.EF50.Winform.Client das Entity Framework 5 Paket hinzugefügt. Dazu über Projekt/Kontextmenü/NuGet Pakete verwalten den Package- Manager starten. In diesem kann das Paket Entity Fram e work ausgewählt, und anschließend auf den [Installieren] Button geklickt werden.

Achtung: Im Package- Manager kann eingestellt werden, ob nur stabile Versionen oder auch Packete für Vorabversionen (Beta) angeboten werden sollen. Empfohlen wird die Grundeinstellung "Nur stabile".


Die vom Paket bereitgestellten Assemblies werden im bin- Verzeichnis des Projektes, und zusätzlich im Packages- Verzeichnis der Projektmappe abgelegt.

Deinstallieren kann man die Pakete ebenfalls über den Package- Manager. Dazu den Karteireiter Installierte Projekte wählen. Dann Projekt in der Karteikarte auswählen (z.B. Entity- Framework) und deinstallieren anklicken es folgt die rückstandslose Entfernung des Projektes.

Bezugsquellen für Package- Manager verwalten

Über Per Default wird auf https://nuget.org/api/v2/ gesucht. Die Suche kann auf eigene Webspaces, lokale Ordner und Dateifreigaben erweitert werden über die Optionen vom Package- Manager. Diese sind erreichbar über Tools/Bibliotheks- Paket -Manager/Paket- Manager Einstellungen/Paketquellen .




Eigene Pakete aus Projekten erstellen

Das Erstellen eigener Pakete aus Projekten ist einfach. Es wird sehr gut unter http://docs.nuget.org/ beschrieben. Folgender Workflow illustriert die notwendigen Schritte:




Codeanalyse

Viele Unsauberkeiten im Quellcode werden vom Compiler nicht gemeldet, wenn sie keine groben Verstöße gegen die Syntax darstellen.

Eine viel feinere Überprüfung des Codes ermöglicht die Code- Analyse. Hier kann ein Regelwerk definiert werden, auf dessen Einhaltung hin der Code untersucht wird.



Neue Datenwerkzeuge

Mit dem Sql Server Object Explorer können nun auch neue Benutzer einer Datenbank hinzugefügt werden etc.

Bei Arbeiten am Schema können Tabellen über GUI oder SQL editiert werden. Jede Ansicht synchronisiert sich jeweils bei Änderungen in der anderen.

Neue Datenbank

Nun wird kein SQLExpress mehr mitgeliefert sondern eine sog. Localdb . Diese starten erst beim Zugriff. Soll wohl die Ressourcen auf dem Entwicklungsrechner schonen.