Visual Studio Dev Essentials - 6 Monate Pluralsight für lau (und Tools, und Azure, und… und… und…)!

Microsoft stellt mit dem “Visual Studio Dev Essentials” Programm eine Menge geniale Dinge rund um die Softwareentwicklung kostenlos zur Verfügung:

“Besorgen Sie sich alles, was Sie zum Erstellen und Bereitstellen Ihrer App auf beliebigen Plattformen benötigen. Mit Tools auf dem neusten Stand der Technik, der Leistung der Cloud, Schulungen und Support ist es das umfassendste kostenlose Angebot für Entwickler jemals.”

Neben DEV-Tools werden auch kostenlose Schulungen angeboten, u.a. ein kostenloses Abonnement von Pluralsight für 6 Monate. Diese Angebot gilt nur noch bis 31. Dezember 2015, also schnell zuschlagen!

Pluralsight stellt über 4,500 Videokurse bereit, die eine sehr hohe inhaltliche Qualität haben.
Die Kurse umfassen alle Themengebiete rund um IT, von der Softwareentwicklung, über Infrastruktur bis zum IT Management ist für jeden was dabei!

Die DEV-Tools beinhalten z.B.  Visual Studio 2015 Community Edition, TFS Express und monatliche Azure Gutschriften. Es lohnt sich also auch hier einen Blick zu werfen!

Hier geht’s zur Anmeldung: https://www.visualstudio.com/de-de/products/visual-studio-dev-essentials-vs.aspx

1. Auf den Großen Grünen Knopf™ drücken:

image

 

 

 

 

 

 

 



2. Promocode anfordern

image

 

 

 

 


3. Mit Promocode zu Pluralsight wechseln (der Link ändert sich nach Schritt 2)…

image

 

 

 

 


4. …und bei Pluralsight registrieren

image

 

 

 

 

 

 




5. ???

6. Learn!

Das kennst du schon alles? Dann bewirbt dich sofort bei TOP TECHNOLOGIES!

Olle Kamellen. #Not Oder: Was ist eigentlich mit StyleCop für VB.NET?

Folgenden Eintrag habe ich in einem alten internen Blog wiederentdeckt. Den habe ich Ende Dezember 2008 geschrieben,... vor knapp 7 Jahren.

Im Mai 2008 veröffentlichte der MSFT-Angestellte Jason Allor StyleCop. Seit dem fragen sich viele, warum es nur C#, aber kein VB.NET unterstützt. Um der Frage nach etwaigen politischen Hintergründen vorzubeugen, hat Jason selbst das Wort an die Community gerichtet:

To understand why there is no version for VB, it's necessary to understand the history of the tool. StyleCop was written as a Microsoft internal tool, to be used by our own internal developers who are coding in C#. StyleCop is not owned by the C# team, but was developed independently. We released StyleCop externally to allow the community to get the same benefit from this tool that we were getting internally at Microsoft.

Since the release of StyleCop there have been some calls from the community to do a version for VB. Unfortuantely there is a technical limitation currently to this happening. StyleCop requires a managed language service to parse and process the code before it can be analyzed. For C#, a language service was written from scratch to support the tool. But one doesn't exist today for VB, and this is a very high bar to entry. However, work is underway at Microsoft to create new, reusable, hostable managed language services both for C# and for VB. This work is still in the early stages, but the plan is to dump the custom C# parser used in StyleCop in favor of the official managed C# language service when it becomes available. At that time, it will probably also become technically feasible to do a version of StyleCop for VB. At that time, there will need to be some evaluation of the demand for a VB version of StyleCop in the community, and it will likely be up to the VB team to determine whether they want to support this.

Ursprüngliche Quelle (die leider nicht mehr existiert): http://code.msdn.microsoft.com/sourceanalysis/Thread/View.aspx?ThreadId=383

Die beiden interessanten Passagen habe ich hervorgehoben. Ich nehme an, mit Roslyn wurde genau das erreicht, wovon Jason 2008 sprach. Nur... was ist seitdem aus StyleCop geworden? Vergessen? Weiß jemand mehr?

Nie wieder Ärger mit NuGet!

Vielleicht hast du das auch schon erlebt, wenn du NuGet und TFS verwendest:

Das Updaten eine NuGet Pakets erzeugt völliges Chaos in der Projektmappe:

Im Projektmappen-Explorer sieht alles gut aus. Die Ansicht „Ausstehende Änderungen“ im Team Explorer zeigt ein anderes Bild: Nur ein paar Dateien sind geändert, und viele Dateien sind gelöscht, obwohl sie ebenfalls geändert sein sollten.

Durch Einchecken wird das Projekt dann defekt: Dateien werden fälschlicherweise gelöscht, obwohl sie noch in den Projekten verwendet werden, und die Builds schlagen fehl.

TL; DR: Das Problem tritt nur bei lokalen Arbeitsbereichen (Local Workspace) auf. Benutze einen Serverarbeitsbereich (Server Workspace) zum Aktualisieren von NuGet Content-Paketen (Kurzanleitung siehe Ende des Artikels).

Was ist das Problem?

Das Problem tritt nur mit NuGet Paketen auf, die Dateien in das Projekt hineinkopieren, wie z.B. JavaScript Bibliotheken, Views, etc. Ich nenne diese Pakete „Content-Pakete“. Pakete, die nur DLLs referenzieren, sind nicht betroffen.

Beim Installieren eines Content-Pakets kopiert NuGet die Content-Dateien in dein Projekt und fügt die Dateien korrekt der Versionskontrolle hinzu.

Beim Update eines Content-Paketes geht NuGet vor wie immer:

Zunächst werden das Paket und alle dazugehörigen Dateien gelöscht; auch die in das Projekt kopierten Content-Dateien und alle DLL-Referenzen zu dem Paket entfernt. Daraus ergibt sich dann eine Anzahl von „Ausstehenden Löschungen“.

Im nächsten Schritt installiert NuGet dann die neue Version vom Paket, als wäre es die Erstinstallation: Das Paket landet im Paket-Verzeichnis, DLL-Referenzen werden hinzugefügt, und die Content-Dateien werden in das Projekt kopiert und als neue Dateien der Versionskontrolle hinzugefügt.

Hier fangen die Probleme an:
Die Content-Dateien sind immer noch als „Ausstehenden Löschungen“ in deinem Workspace markiert. Wenn NuGet versucht, genau diese Dateien wieder dem Projekt hinzuzufügen, stolpert der Team Explorer: Er erlaubt nicht, eine Datei der Versionskontrolle hinzuzufügen, für die im gleichen Workspace noch eine ausstehende Löschung besteht, sondern erwartet, dass man die Löschung erst eincheckt, und anschließend die Datei als neue Datei eincheckt. Sinnvoller wäre es, wenn der Team Explorer die ausstehende Löschung automatisch in eine ausstehende Änderung umwandelt.

Daraus entsteht das nächste Problem:
NuGet scheint von dem Fehler im Team Explorer nichts mitzubekommen, und kopiert die aktualisierten Content-Dateien auf die Festplatte und fügt sie dem Projekt hinzu (und meldet keine Fehler). Deshalb sieht im Solution Explorer alles gut aus: Alle Dateien sind dort wo sie hingehören, das Projekt kompiliert. Der Team Explorer sieht das anders: In der Ansicht „Ausstehende Änderungen“ sind die ausstehenden Löschungen immer noch vorhanden. Wenn man diesen Umstand nicht bemerkt und die offenen Änderungen eincheckt ist das Projekt für Alle defekt.

Falls man das Problem noch rechtzeitig bemerkt und versucht die ausstehenden Löschungen rückgängig zu machen, hat man auch verloren: Der Team Explorer weigert sich, die Löschungen rückgängig zu machen, da dadurch bestehende Dateien überschrieben werden würden… die Dateien die NuGet beim Update versucht hat in das Projekt hinzuzufügen!

Das Chaos manuell wieder aufzuräumen, und dabei sicherzustellen, dass man auch die aktuellen Versionen der Dateien an der richtigen Stelle hat, macht keine Freude.

Lösung

Die Problemlösung ist einfach: Benutze einen Server Arbeitsbereich zum Aktualisieren von Content- Pakete;, nur die lokalen Arbeitsbereiche sind betroffen (zumindest in der aktuellen NuGet Version 2.8.60318.667). Für meine tägliche Arbeit bevorzuge ich einen lokalen Arbeitsbereich, daher benutze ich einen zweiten Arbeitsbereich zur Aktualisierung von Content-Paketen.

Anlegen eines neuen Server Arbeitsplatzes in Visual Studio

  1. Datei > Quellcodeverwaltung > Erweitert > Arbeitsbereiche > Hinzufügen > Erweitert
  2. Sprechenden Namen eingeben, z. B. “Server Arbeitsbereich für Content-Package Updates”
  3. “Server” bei “Speicherort” auswählen
  4. OK

clip_image002

Für 2015 schon Zertifizierungen geplant?

Training and Certification Guide screen shot 0Wer sich wie wir u.a. im Fahrwasser von Microsoft bewegt, kennt natürlich die Zertifizierungen, die sich hier erwerben lassen. Besonders spannend sind dabei für uns die Titel, die mittels unterschiedlicher Zertifizierungen zu erreichen sind. Beispielsweise der MCSD Application LifeCycle Management, bestehend aus Prüfungen zu Themen wie der Konfiguration und Administration des Team Foundation Servers, Testing und der Optimierung einer Wertschöpfungskette im Bereich der Softwareentwicklung.

Für einen Überblick über sämtliche Pfade, Möglichkeiten und auch zur Planung gibt es historisch bedingt die verschiedensten Möglichkeiten. Da Poster aber ziemlich 2010 sind, hat Microsoft mittlerweile eine eigene Windows Store App nachgelegt. Obwohl simpel gestaltet, ist sie immerhin interaktiv und ermöglicht definitiv einen hervorragenden Überblick.

Die App bekommt hier hier.

Viel Spaß dabei und viel Erfolg in 2015!

P.S.: Du bist bereits MCSD: ALM und hast Spaß dabei, Kunden auf dem Weg zu stabilen Geschäftsanwendungen zu unterstützen? Bewirb Dich jetzt!

Und hier geschieht ein Wunder! - Installer bauen auf der #dwx14

Chef: “Und Schmitt? Ist unser neuer Quanten-Warp-Dimensions-Taschenrechner für Windows Desktop fertig?

Schmitt: “Ja Chef! Wenn Sie ihn testen wollen, müssen Sie nur das Multiphasen SDK installieren, sämtliche Dateien in das Programme Verzeichnis kopieren und kurz die 47 Registry Strings anlegen, die ich Ihnen gleich maile. Die Datenbankverbindung konfigurieren Sie dann in der app.config Datei, und in der…

Chef: “Halt! Stop! Das geht so nicht! Das muss automatisiert werden, warum haben wir denn keinen Installer?

projektplanungGenau jetzt stellt sich die Frage, wie denn nun eigentlich dafür Sorge getragen wird, dass unsere zahlenden Kunden auch möglichst bequem dazu in die Lage versetzt werden, unsere neuste Software einzusetzen. Der Installer ist hier ein essentieller Projektbestandteil, der nur zu gerne vernachlässigt wird und gerne auch erst viel zu spät eingeplant wird.

Beim ersten Projekt stellt sich dann auch noch die Frage, wie man dies überhaupt realisieren kann…

- Selber ein Programm entwickeln, dass die Arbeit durchführt? Wohl kaum. Der Aufwand wäre deutlich zu hoch.

- Drittanbieter-Software wie bspw. InstallShield für die Erstellung verwenden? Schon besser, bringt aber Lizenzkosten mit sich und ist grade für komplexe Szenarien auch nur sehr komplex zu bedienen.

Wie wäre es ansonsten mit Windows Installer XML (WiX)? WiX basiert - wie der Name schon sagt - auf XML, jeder Entwickler wird sich hier also schnell zu Hause fühlen. Da es ein Open Source Produkt ist, fallen auch keine Lizenzkosten an, außerdem gibt es eine konsequente und zügige Weiterentwicklung. Und das Beste für uns Entwickler ist dabei, dass es Visual Studio Projekttemplates gibt, wodurch die Erstellung des MSI’s auf ein simples Kompilieren eben jenen Projektes reduziert wird! Der Buildprozess muss also nicht durch etwaige Aufrufe von Fremdsoftware aufwändig erweitert werden, um die Routinen zum Erstellen des MSI’s zu steuern.

Das die Erstellung eines Installers nichts mit Wundern zu tun hat, sondern tatsächlich für die meisten Fälle sogar relativ einfach zu realisieren ist, zeigen wir in der Session “Installer bauen leicht gemacht” auf der diesjährigen DWX!

Nachlese zur Visual Studio 2012 Evolution

Nachdem die Veranstaltung am 1.10.2012 in Düsseldorf ein voller Erfolg war, stehen nun auch die Videos aller Sessions zur Verfügung. Wer leider nicht die Gelegenheit hatte, an dem Event teilzunehmen hat nun die Möglichkeit, sich im Detail über die neuen Funktionen und Features zu informieren.

Die drei Tracks rund um Visual Studio 2012, .NET 4.5 und Services wie Azure, Windows Phone und TFS as a Service wurden dabei von 14 bekannten Speakern unterhaltsam und informativ vorgestellt. Auf folgender Website können interessierte Entwickler ihr Wissen wieder auffrischen oder sich Sessions anschauen, die sie verpasst haben.

http://www.microsoft.com/germany/msdn/events/vs-evolution-2012/default.aspx

Gratis E-Book

Wer sich darüber hinaus passend zur Evolution Session Unit Testing & Fakes noch intensiver mit dem Thema Testing mit dem Visual Studio 2012 auseinandersetzen möchte, dem sei ein kostenloses E-Book des Pattern & Practices Team von Microsoft empfohlen, das hier heruntergeladen werden kann.

Ein Maulwurf in Visual Studio 11: Das Microsoft Fakes Isolation Framework

Mittlerweile ist die Verfügbarkeit der Visual Studio 11 Beta hinreichend bekannt. Was aber die wenigsten wissen: Unter der Haube steckt noch einiges mehr, als Microsoft aktuell bewirbt. Und dazu gehört z.B. Microsoft Moles.

Pardon. Ich meine natürlich das Microsoft Fakes Isolation Framework. Noch nie davon gehört? Das ist kaum verwunderlich. Sucht man danach im Internet, trifft man aktuell höchstens auf zwei Referenzen. Zum einen die Landing Page auf Microsoft Research für Pex & Moles und zum anderen auf die vorläufige Hilfe zu Visual Studio 11 auf MSDN. Dass letztere kaum auffindbar ist, wenn nicht gezielt danach gesucht wird, leuchtet ein. Und da die Hilfe zum jetzigen Zeitpunkt weder vollständig noch korrekt ist, stellt TOP TECHNOLOGIES hiermit das Microsoft Fakes Isolation Framework kurz vor und demonstriert mit einer funktionierenden Solution, wie man damit jetzt schon umgehen kann.

Am Ende dieses Artikels gibt es eine Zip-Datei mit der Solution zum Herunterladen.

More...

Visual Studio lautet die Frage.

42 lautet die Antwort. Das ist die Anzahl der Pixel, die Microsoft durch die UI-Verschlankung in der Höhe eingespart hat. 42 Pixel mehr, um zwei weitere Zeilen mit Code einblenden zu können. Vergessen wir allerdings einmal kurz diese zwei Zeilen und wenden uns der gesamtheitlichen Frage nach der Veränderung der UI zu.

[…] the cut, copy and paste toolbar commands have been removed since we know from our instrumentation data that the majority of developers use the keyboard shortcuts for these commands.

Instrumentation data ist hier das Stichwort. Microsoft macht nichts einfach so. Niemals. Icons werden nicht einfach verändert, weil es eine neue Doktrin gibt (auch wenn sie Metro heißt). Schaltflächen werden nicht einfach entfernt, weil irgendein Mitarbeiter meint, das wäre besser so.

For example, during usability studies with the new toolbar settings, many users have noticed the Navigate Forward and Backward buttons and have assumed that this was new functionality added to the product when in fact this capability has been in the product for a number of releases.

iconographyUsability studies. Instrumentation. Zu Deutsch: Microsoft fragt uns Entwickler. Sie sammeln Daten über unser Nutzungsverhalten (wenn wir das akzeptieren; und wer kennt den Toast, der einen nach der Installation des Visual Studio 2010 danach fragt, nicht?). Und nach der Analyse kommt die Feststellung: Die Icons sind zu bunt, die Linien und Gradienten zu auffällig, die Anzahl der Schaltflächen zu hoch und das führt dann halt dazu, dass die UI einer Schönheitskurz unterzogen werden muss.

Schönheit liegt dabei zwar im Auge des Betrachters, aber wenn jemand bei Microsoft so viel Humor hat, dass die Antwort auf alle diese Fragen 42 lautet, dann kann ich mich nur darauf mit einem Schmunzeln freuen. Und an alles andere werden wir uns mit der Zeit sowieso gewöhnen.

Im Visual Studio Blog gibt es eine enorm umfangreiche Übersicht über Änderungen und Verbesserungen, inkl. Screenshots und Erläuterungen zu den Hintergründen. Wer mehr wissen will, klickt hier.

Preview: Team Foundation as a Service

Dass Microsoft vorhat, den Team Foundation Server auch als Cloudservice anzubieten, ist erst einmal nichts Neues. Dass vor kurzem eine erste Preview veröffentlicht wurde, haben viele aber noch nicht bemerkt.

Unter http://www.tfspreview.com ist es nun möglich, sich für die Preview zu registrieren. Falls man einer der Glücklichen ist, der bereits über einen Invitation-Code verfügt, präsentiert sich nach Anlegen eines Team Projektes die Website wie folgt:image

Die Authentifikation führt gegenwärtig über eine Windows Live ID.

TIPP: Wer über mehrere Live IDs verfügt und Probleme damit hat, sich anzumelden, da die Website sich nicht davon überzeugen lässt, die ID zu wechseln, probiere einfach mal den InPrivate-Modus des Internet Explorers.

Von hier aus kann die URL zur TFS Instanz eingesehen, so wie neue Team Projekte angelegt werden. Der Rest dient eher dem Erlernen des Umgangs mit dem TFS, bietet eine Feedback-Möglichkeit und – ganz typisch einer Preview – einen Bereich zum Erstellen eines Invitation Codes, der sich fünf Mal verwenden lässt.

Drei Invitations stünden noch zur Verfügung. Wer also daran interessiert ist, schreibe einfach einen Kommentar. Ansonsten der Wink mit dem Zaunpfahl: In Kürze startet in Darmstadt die diesjährige BASTA! Spring. Christian Binder wird dort durch die ALM Days führen und sicherlich auch weitere Invitation Codes verteilen.

Custom Windows Forms Controls und die ToolBox. Spass beiseite...

Wer schon einmal ein eigenes Control entwickelt hat, kennt die Situation eventuell: Wie bekomme ich das Control sauber in die ToolBox?

Wer sogar in einem Team arbeitet fragt sich mitunter auch: Wie verteile ich meine Controls an mein Team?

Gleich vorweg: Dieser Blogpost behandelt das Problem, dass es mit dem Visual Studio 2010 SP1 SDK unmöglich erscheint, VSIX-Pakete mit ToolBox Controls für .NET 3.5 Projekte zu erstellen (oder besser: Projekte, die auf eine Runtime früher als .NET 4.0 setzen).1

Das Intro nimmt es bereits vorweg: Ein mögliches Werkzeug, um Controls zu verteilen, nennt sich VSIX. Dabei handelt es sich um ein Paketformat von Microsoft, das im Prinzip nichts weiter ist, als eine ZIP komprimierte Datei deren Inhalt sich neben den zu verteilenden Assemblies auch aus Konfigurations- und Metadaten zusammensetzt. Am meisten hat der Entwickler natürlich Spass an solchen Daten, wenn es dafür eine Konfigurationsoberfläche gibt. Und die gibt es tatsächlich!

More...

Über die Autoren

Christian Jacob ist Leiter des Geschäftsbereiches Softwarearchitektur und -entwicklung und zieht als Trainer im Kontext der .NET Entwicklung sowie ALM-Themen Projekte auf links.

Marcus Jacob fokussiert sich auf die Entwicklung von Office-Addins sowie Windows Phone Apps und gilt bei uns als der Bezwinger von Windows Installer Xml.

Martin Kratsch engagiert sich für das Thema Projektmanagement mit dem Team Foundation Server und bringt mit seinen Java- und iOS-Kenntnissen Farbe in unser ansonsten von .NET geprägtes Team.

Aktuelle Kommentare

Comment RSS