Highway to Hell Frustrierendes Publishing, mit Sicherheit

Die Definition von "Release Candidate"

Published on Wednesday, November 16, 2016 9:26:04 PM UTC in Skit & Tools

Die Entwicklergemeinde tut sich traditionell schwer, Begriffe wie "Alpha-Version" oder "Beta-Version" formal zu definieren. Jeder hat seine eigene Vorstellung davon, welche Voraussetzungen erfüllt sein müssen, damit eine Software etwa den Beta-Status erreicht hat. Je näher die Fertigstellung eines Produkts rückt, desto klarer und einheitlicher werden aber die Definitionen. Zum Stadium des "Release Candidate" etwa schreibt Wikipedia:

A release candidate (RC) is a beta version with potential to be a final product, which is ready to release unless significant bugs emerge. In this stage of product stabilization, all product features have been designed, coded and tested through one or more beta cycles with no known showstopper-class bugs.

Für Microsoft hingegen sieht die Definition eines Release Candidate so aus:

vs-2017-not-responding.png

:)

Vermutlich habe ich, um das zu provozieren, ganz absurde Dinge getan... oder? Mal sehen:

  1. Anlegen eines neuen Projekts: "ASP.NET Core Web Application (.NET Framework)" mit dem Target Framework .NET 4.6.2
  2. Ein beherztes "Build solution" führte zu diversen Compiler-Fehlern
  3. Es fiel auf, dass die NuGet-Pakete nicht aktuell waren (13 Updates verfügbar)
  4. Das Update der Pakete ließ Visual Studio einfrieren und schließlich abstürzen - bravo!

Auch das Erstellen einer reinen ASP.NET Core-Webanwendung mündete zunächst einmal in einen unmittelbaren Fehler beim ersten Bauen des unveränderten Templates:

vs-build-error-net-core.png

Auch hier standen diverse NuGet-Packages zur Aktualisierung an (sogar 14), was diesmal ohne Absturz klappte und schließlich auch den Build-Fehler verschwinden ließ.

Interessanterweise verhält sich VS2017 RC ein wenig wie Pandoras Büchse - je häufiger man es öffnet, desto weniger erschreckend ist, was rauskommt. Nach dem zweiten Neustart verschwanden die initialen Build-Fehler beim Anlegen neuer Projekte (hmmm...?), und auch der Fehlerdialog bei .NET Core-Projekten ließ sich nur noch ein weiteres Mal provozieren, trotz diverser Versuche.

Was hingegen unverändert bockig geblieben ist, ist der NuGet Package Manager. Bei insgesamt kaum mehr als 10 Beispielprojekten, bei denen ich eine Aktualisierung der Packages vorgenommen habe, verblieben nach einem Klick auf "Update" in drei Fällen noch Einträge in der Liste. Dieses ausgesprochen nervtötende Verhalten kenne ich nur zu gut aus Visual Studio 2015, in dem man sich manchmal vier, fünf Mal durch die Updates klicken muss, bis wirklich alle Projekte die aktuellen Paketversionen erhalten haben. Bei einem weiteren (abermals leeren) Testprojekt ergab sich beim Aktualisieren der Packages der folgende Fehler:

Error: Cannot access a disposed object. Object name: 'Microsoft.VisualStudio.ProjectSystem.ConfiguredProjectImpl'.

... und 11 von 12 Packages verblieben auf der Updateliste.

Nunja. Vorabversion bleibt Vorabversion, und noch bin ich guter Hoffnung, dass Visual Studio 2017 insbesondere für .NET Core endlich ein deutlich verbessertes Tooling bietet. Derlei erste Erfahrungen allerdings lösen nicht unbedingt Freudentaumel aus. Ich persönlich verzichte lieber auf unnötigen Firlefanz wie den vollständig überarbeiteten Installer, der mir Visual Studio in Mopsgeschwindigkeit auf die Festplatte schaufelt (wie oft brauche ich das?), wenn ich stattdessen eine Arbeitsumgebung vorfinde, die mich nicht mit denselben Bugs nervt wie die letzte Version, sondern robust, zuverlässig, geschmeidig und unauffällig dahingleitet (... und wie oft brauche ich das?!).

Bis auf weiteres wird mir aber wohl nur bleiben, weiterhin fleißig Bug-Reports über die eingebaute Feedback-Funktion einzureichen...

P.S.: Wer bei Microsoft Bug-Reports über Microsoft-Produkte einreicht und sich die zugehörigen Status-E-Mails an einen Microsoft-Account schicken lässt, sollte auch seinen Junk-Ordner im Auge behalten, da Microsoft Microsofts E-Mails gerne mal als Spam aussortiert -_-

vs-community-spam.png

Tags: ASP.NET Core · Visual Studio