HOW TO: Upgrade von Silverlight 2 zu Silverlight 3

Seit etwa einem Monat ist Silverlight 3 nun offiziell auf dem Markt. Da viele Silverlight 2 – Applikationen jetzt ja nicht mehr auf dem neusten Stand sind, möchte ich hier eine Anleitung für das optimale Upgrade geben.

Kurz zu meinem Projekt: Ich habe ein Silverlight-Projekt und ein Web-Projekt in einer Solution welche über einen Webservice miteinander kommunizieren.

Zur Vorbereitung auf Silverlight 3 hab ich mir die verschiedenen Silverlight 3 Packages heruntergeladen:

Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1
Microsoft Expression Blend 3 + SketchFlow RC
Silverlight 3 Toolkit

Bevor ich die Packages allerdings installiert habe, habe ich das Silverlight 2 Toolkit, Silverlight 2 SDK, Expression Blend 2 und alles Weitere was Silverlight 2 benötigte deinstalliert.

Aber Achtung: Man soll sich bewusst sein, dass beim Upgrade einer Silverlight-2-zu-3-Applikation, keine Downgrade mehr möglich ist. Wenn die Applikation später dann doch wieder unter Silverlight 2 laufen soll, git es keine Möglichkeit dazu. Deshalb solltem an unbedingt eine Kopie der Applikation vor dem Upgrade machen.

Nachdem alle Silverlight 2 – Komponenten deinstalliert sind, können die Silverlight 3 Komponenten installiert werden. Wenn die Installationen erfolgreich waren, kann nun ein Silverlight 2 PRojekt geöffnet werden. Beim Öffnen erscheint der "Conversion Wizard" vom Visual Studio (siehe unten)

Conversion Wizard

Der Wizard muss vollständig durchlaufen.

Nun muss noch die alte Silverlight.js Datei mit der neuen ersetzt werden. Diese befindet sich standardmässig im Verzeichnis
"C:\Program Files\Microsoft SDKs\Silverlight\v3.0\Tools".

Eigentlich sollte man das Projekt lauft Microsoft nun kompilieren können. Ich hatte jedoch ein Problem mit dem Webservice, welcher von der Silverlight Applikation zwar gefunden wurde aber die einzelnen Funktionen Fehler aufwiesen. Nach langem Suchen bin ich dann auf eine seltsame lösung gestossen:

1. Der Webservice muss aus der Silverlight-Applikation gelöscht werden. (Beispielname: "SilverlightService")
2. Nun kann der Webservice wieder hinzugefügt werden, aber unter einem anderen Namen. (Beispielname: "SilverlightService_new")
3. Jetzt muss auch dieser Webservice wieder entfernt werden. (Beispielname: "SilverlightService_new")
4. Als vierter Schritt kann nun der Webservice wieder unter seinem ursprünglichen Namen hinzugefügt werden. (Beispielname: "SilverlightService")

Nun tauchen keine Fehler mehr auf und die Applikation kann als Silverlight 3-Applikation kompiliert werden.

Nicole Strebel

Über Nicole Strebel

Arbeitet im Bereich Web&Apps als Entwicklerin und Webdesignerin. Ist unter anderem Spezialistin in JQuery, HTML5/CSS3, VB.Net & SQL. Freizeittechnisch beschäftigen sie aktuell Cupcakes, Geocaching und Büssli fahren.
Kommentar schreiben

*