2.18.2010

Visual Studio 2010 RC. 10 Fragen 10 Antworten

Achtung! Die nachfolgenden Angaben sind keine verbindlichen Angaben von Microsoft. Bei den nachfolgenden Antworten handelt es sich um eigene Erfahrungswerte und zusammengetragene Informationen aus dem Internet sowie Informationen aus der Arbeit mit dem RC von Visual Studio 2010. Danke.

Microsoft hat in den letzten Tagen den RC von Visual Studio 2010 veröffentlicht. Nicht jeder hatte bereits die Gelegenheit mit einer der Beta oder LCTP-Versionen von Visual Studio 2010 fleißig zu üben oder die Portierung seiner Projekte auszuprobieren. Darum hier 10 Fragen und die dazugehörigen Antworten.

1. Wer kann den RC von Visual Studio downloaden?

Microsoft hat wie bei der Beta2 den Download von Visual Studio 2010 öffentlich zugänglich gemacht. Somit ist eine kostenpflichtige MSDN-Subscription für den Download des RC nicht notwendig.

2. Wo kann der RC von Visual Studio 2010 heruntergeladen werden?

Microsoft bietet den Download des Visual Studio 2010 RC auf MSDN Online an. Der Download ist für jeden kostenlos. Sollte jemand Downloadangebote finden, bei denen man für den RC Geld bezahlen soll, handelt es sich hierbei sicher um Täuschung und betrügerische Absichten. Diese sollten umgehend an Microsoft gemeldet werden.

3. Welcher Versionen des VS2010 RC stehen zum Download bereit?

Der RC von Visual Studio 2010 steht gegenüber der Beta 2 ausschließlich in englischer Sprache zur Verfügung. Die jeweiligen Versionen können als ISO-Datei heruntergeladen werden und dann entweder auf eine DVD gebrannt oder in einer virtuellen Maschine als Laufwerk gemountet werden.

Folgende Release Kandidat Versionen stehen zum kostenlosen Download bereit:

Weiter Downloads zum RC von Visual Studio 2010, so auch die RC-Versionen des .NET Framework 4, findet ihr hier-> Klick mich

4. Gibt es auch einen Release Kandidat der Visual Studio 2010 Express Version?

Nein. Die Express Version von Visual Studio 2010 steht aktuell nur als Beta 2 zur Verfügung. Den Download dazu findet ihr hier –> VS2010 Beta 2 Express

5. Ist eine Side by Side Installation mit Visual Studio 2008 möglich?

Ja! Nicht erst VS2010 unterstützt eine Side by Side Installation der aktuellen Visual Studio Version mit einer älteren Version. Aber Achtung! Auch bei einem RC ist noch Vorsicht geboten. Ich empfehle eine Installation des RC auf einer virtuellen Maschine und nicht auf dem Produktivsystem.

6. Welche Microsoft Betriebssysteme werden für die Installation von Visual Studio 2010 RC unterstützt?

  • Windows XP (x86) mit Service Pack 3 – alle Versionen außer die Starter Edition
  • Windows XP (x64) mit Service Pack 2 - alle Versionen außer die Starter Edition
  • Windows Vista (x86 & x64) mit Service Pack 1 - alle Versionen außer die Starter Edition
  • Windows 7 (x86 und x64)
  • Windows Server 2003 (x86 & x64) mit Service Pack 2
  • Windows Server 2003 R2 (x86 und x64)
  • Windows Server 2008 (x86 und x64) mit Service Pack 2
  • Windows Server 2008 R2 (x64)

7. Welche Hardwareanforderungen gibt es für die Installation von Visual Studio 2010 RC?

  • Computer mit einem 1.6 GHz oder schnellerem Prozessor
  • RAM
    • 1 GB RAM für x86
    • 2 GB RAM für x64
  • Zusätzlich 512 MB RAM wenn Visual Studio in einer Virtual Maschine ausgeführt wird
  • 3 GB freien Festplattenspeicher
  • Eine Festplatte mit mindestens 5400 RPM
  • DirectX 9-fähige Grafikkarte mit einer Auflösung von 1024 x 768
  • DVD-ROM Laufwerk für die Installation von DVD

8. Ist die Verbindung aus dem RC von Visual Studio 2010 mit dem TFS 2008 möglich?

Ja. Vorausgesetzt man hat neben der jeweiligen Visual Studio Version den Teamexplorer für den RC von Visual Studio 2010 installiert.
Den Download dazu findet ihr hier –> VS2010 Team Explorer RC

9. Gibt es Visual Source Safe 2010?

Nein. Microsoft bietet seit der Beta 2 die Möglichkeit den TFS auch auf einem Client zu installieren. Für Einzelkämpfer und kleine Teams kann bei der Installation die Basic-Installation ausgewählt werden. Der TFS ist dann sogar mit einer Express-Version des SQL-Server 2008 zufrieden. Mit der Basic-Installation des TFS 2010 stehen einem zwar nicht alle Features des TFS zur Verfügung aber sicher genug um als Einzelkämpfer oder in kleinen Teams eine professionelle Entwicklungs- und Projekt-Verwaltung auf die Beine zu stellen. Mehr Informationen zum TFS 2010 findet ihr auf dem Blog von Christian Binder.

10. Wann wird Microsoft die fertige Version Visual Studio 2010 veröffentlichen?

Nach offizieller Meldung von Microsoft wird Visual Studio 2010 am 12. April 2010 veröffentlicht. Zu dieser Produktveröffentlichung wird die dodned User Group Franken eine große Launch-Party veranstalten. Geplant ist die Launch-Party am letzten Donnerstag im Monat April 2010. Über den Inhalt werden wir Euch noch auf unserem UG-Blog unter www.dodned.de zeitnah informieren.

TOM_MUE

Labels: ,

2.13.2010

Kommentarfunktion wieder eingeschalten

Nach dem ich eine ganze Weile mit Spam zugeschüttet wurde, hatte ich die Kommentarfunktion für diesen Blog stark eingeschränkt. Das habe ich nun wieder etwas aufgelockert so dass man mit einer Sicherheitsabfrage hier wieder meine Posts kommentieren kann.

Viel Spaß

TOM_MUE

Labels:

Visual Studio 2010 and .NET Framework 4 Training Kit – February Release

Microsoft hat das “Visual Studio 2010 and .NET Framework 4 Training Kit” diesen Monat  als Release zum Download auf seinen Seiten bereite gestellt. Wer bisher noch nicht mit einem der Previews gearbeitet hat, für den gibt es hier eine Übersicht zum Inhalt:


The Visual Studio 2010 and .NET Framework 4 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2010 features and a variety of framework technologies including:

  • C# 4.0
  • Visual Basic 10
  • F#
  • Parallel Extensions
  • Windows Communication Foundation
  • Windows Workflow
  • Windows Presentation Foundation
  • ASP.NET 4
  • Windows 7
  • Entity Framework
  • ADO.NET Data Services
  • Managed Extensibility Framework
  • Visual Studio Team System

This version of the Training Kit works with Visual Studio 2010 RC and .NET Framework 4 RC.

Den Download findet Ihr hier >Link<


HTH
TOM_MUE

Labels: , ,

Teure Typkonvertierung

Wichtiger Nachtrag siehe unten.

Ich habe den heutigen Vormittag dazu genutzt mich mit den Labs des neuen Visual Studio 2010 Training Kits zu beschäftigen. In einem der Labs ist mir ein ValueConverter für eine WPF-Anwendung aufgefallen. Dabei soll ein übergebener String-Value in einen Boolean konvertiert werden und umgekehrt.

Hier der Code für die Methode IValueConverter.Convert:
IValueConverter 
Da die Schnittstelle IValueConverter die Signatur und auch die Parameter für die Methode IValueConverter.Convert vorgibt, ist der Typ für den Parameter value vorgegeben. Für das oben gezeigte Beispiel ist die Verwendung eines try-catch Blocks bei der expliziten Konvertierung eines String zu einem Boolean recht teuer. Nebenbei bemerkt steht auch in den MSDN der wichtige Hinweis zur Verwendung eines catch-Blocks in C#:

Obwohl die catch-Klausel ohne Argumente verwendet wird, sodass sie jeden Ausnahmetyp abfängt, wird dies nicht empfohlen. Im Allgemeinen sollten Sie nur jene Ausnahmen abfangen, die Sie wiederherstellen können. Deshalb sollten Sie immer ein von
System.Exception abgeleitetes Objektargument angeben.

Kommen wir aber zurück zum Stichwort “teuer”. Immer dann wenn eine explizite Konvertierung zu einem Fehler führt, wird von der Runtime eine Exception ausgelöst.

Das kostet Zeit!

Ich habe mir darum ein kleines Sample ausgedacht in dem ich erstens eine Verbesserung der vorliegenden Konvertierung implementiere und gleichzeitig im Vergleich zu der der Implementierung aus dem C# Lab, einen Zeitmessung einbaue.

Hier der Code den ich als Verbesserungsvorschlag für die Implementierung aus dem C# Lab erstellt habe
CheckIsObjectBooleanI
Hier eine kurze Erläuterung zum Aufbau meiner Konvertierungsversion. Als erstes schaue ich ob der Parameter null ist. Wenn dem so ist verlasse ich mit return false sofort wieder die Methode. Dadurch erspare ich mir den Weg über einen else-Zweig. Danach wird eine implizite Konvertierung von Objekt nach String vorgenommen. Das hat den Vorteil, sollte value nicht vom Typ System.String sein, dass keine Exception ausgelöst wird. Sollte value nicht vom Typ System.String sein, wäre nun temp null. Darum überprüfe ich mit einer if Anweisung temp auf null. Sollte temp wirklich null sein, verlasse ich die Methode sofort wieder mit return false. Nun wird der Inhalt von temp mit der Methode ToLower() in Kleinbuchstaben umgewandelt. Das ist notwendig da ich sonnst auf “true”, “True”, “false”, “False” etc. abfragen müsste. Besonders wichtig ist zu beachten, dass ich die Methode ToLower() vor der entsprechenden if-Anweisung aufrufe. Folgende Variante würde sicher keinen Fehler hervorrufen, jedoch einen unnötigen Aufruf der Methode ToLower() bedeuten.

So nicht:

if(temp.ToLower() == "true" || temp.ToLower() == "false")

Sollte die if-Anweisung true zurückgeben, wird temp mit der statischen Methode ToBoolean() aus der Klasse Convert in einen Boolean konvertiert und der Rückgabewert wird mit return zurückgegeben. Andernfalls wird die Methode mit return false wieder verlassen.

Ähnlich wie bei der Verwendung von Linq, halte ich mich bei der Überprüfung von Methodenparametern an die Regel “markieren, filtern und selektieren”. Soll heißen das ich mit jeder Überprüfung, Konvertierung oder Selektion von Parametern in einer Methode immer den kürzesten Weg aus der Methode heraus wähle.

Gibt es nun wirklich einen Zeitunterschied zwischen beiden Varianten? Ja! in meinem Beispiel habe ich die Konvertierung aus dem C# Sample von Microsoft wie folgt implementiert:
CheckIsObjectBooleanII
Damit die Zeitmessung nicht nur ein Zeitergebnis zurückliefert, verwende ich eine foreach-Schleife mit 20 Durchläufen. Damit der catch Block aufgerufen wird, übergeben ich einen Integer als Wert. Der Code für die Zeitmessung meiner Konvertierung schaut dann wie folgt aus:

Main

Für die Zeitmessung der im Lab verwendeten Konvertierung wir der gleiche Code verwendet nur rufe ich dann die Methode CheckIsObjectBooleanII() auf. Das Ergebnis ist eindeutig.

Meine Konvertierung:
01
Die Konvertierung aus dem C# Lab:
02

Wie man an diesem einfachen Beispiel sehen kann, lohnt sich ein Refactoring von bestehendem Code mit den entsprechenden .NET-Mechanismen auf jeden Fall. Auch wenn es Code aus dem Hause Microsoft ist ;-) Wenn Ihr noch Vorschläge zur Verbesserung meiner Konvertierung habt, würde ich mich über ein Feedback per Mail sehr freuen.

Wichtiger Nachtrag:

Neben dem im Kommentar stehenden, sehr gutem, Hinweis von Albert Weinert, hat mich Albert auch noch auf die statische Methode TryParse() der Struktur Boolean hingewiesen. Diese Methode hat den großen Vorteil auch mit Whitespaces klar zu kommen. Dadurch wird die Methode sehr viel Fehlertoleranter.

Darum hier noch die dritte Variante der Methode CheckIsObjectBoolean().

CheckIsObjectBooleanIII 
Bei der Zeitmessung ergibt sich die gleiche Geschwindigkeit wie in meinem ersten Vorschlag aus der Methode CheckIsObjectBooleanI().

Vielen Dank Albert für diesen super Hinweis! Man lernt eben nie aus ;-)

TOM_MUE

Labels: ,

2.09.2010

Visual Studio 2010 RC für MSDN Subscribers online

Für alle MSDN-Subcribers hier die brandheiße Info: Visual Studio 2010 RC wurde auf den MSDN-Subscription-Webseiten just in diesem Moment zum Download bereitgestellt. Endlich! :-)

Auf dem Blog von Jason Zander und dem von Somar Segar findet ihr weitere Infos und den Kontakt für Euer willkommenes RC-Feedback.

Wenn es sich zeitlich einrichten lässt, werde ich am kommenden DO-Tag den 11.02.2010 bei meinem Vortrag zum Architecture Explorer des VS2010 auch den RC vorstellen. Wen dieses Thema interessiert und sich noch für den Vortrag anmelden möchte findet auf der Webseite der dodned User Group Franken alle nötigen Infos.

Servus TOM_MUE

Nachtrag: Diesen Mittwoch soll der Download für den RC von VS 2010 öffentlich sein. Wie würde mein sehr geschätzter Meister-Kollege und Freund Daniel sage, "schnitt lecht".

Labels: , ,