ASP.NET Rahmen Effekte der Umstellung von 2.0 auf 3.5?
Habe ich angefangen mit Visual Studio 2008 und es hält mich Fragen, um ein upgrade für meine 2.0-website-Projekt zu 3,5 jedes mal es öffnet.
- Was effektiv passiert, wenn ich den "upgrade" - ein website-Projekt von 2.0 auf 3.5 in Visual Studio?
- Tut es das update meiner web.config? Wie genau ändert es mein Projekt/website/code?
- Gibt es ein Potenzial für 2.0 Methoden/Einstellungen, um die PAUSE nach dem upgrade auf 3.5?
- Gibt es irgendwelche Fallstricke beteiligt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Wie an anderer Stelle erwähnt über die anderen Antworten, plus ein paar extras:)
Umwandlung einer VS 2005-Lösung für VS 2008 bedeutet, dass Sie brauchen, zu erhalten Duplikate, oder andere muss auch mit Visual Studio 2008 (während der Projekt-Datei-format (was aus Ihrer Frage, die Sie nicht verwenden eh) ist in der Theorie unverändert zwischen 2005 und 2008, die Lösung, die Dateien sind nicht kompatibel...)
Umwandlung von der website bis 3,5 betrifft überwiegend die web -.config. Einige Referenzen Hinzugefügt, die ein paar Standard-3.5-Assemblys, wie System.Core.dll. Und es wird fügen Sie die IIS 7-Abschnitten (die alle ignoriert, wenn die Website veröffentlicht wird, um einen IIS6-box).
In der Regel nicht sehen, neue compile-Zeit-Fehler aus dem upgrade (und wenn Sie das tun, würde nicht erwarten viele). Sowohl die C# - und VB-teams haben Mühe in die Gewährleistung der Rückwärtskompatibilität über alle neuen LINQ-Schlüsselwörtern... so können Sie ein lokal mit dem Namen "var" in eine Methode namens "wo" in die Klasse "aus" und alles kompiliert einwandfrei... (eine Verbesserung für jeden, hatten Symbole mit dem Namen "operator" in einer VB-2003 codebase, die beim Upgrade auf 2005 🙂
Offensichtlich, sobald Sie gewechselt haben, die Sie benötigen .NET 3.5 auf allen Servern, die Sie bereitstellen. Im Gegensatz zu .NET 1.1 vs .NET 2.0 gibt es aber keine CLR-version /AppPool Probleme zu kümmern, dass alles läuft .NET 2.0. Lesen Sie weiter unten...
Wenn Sie besorgt über die run-time-regression für alle vorhandenen .NET 2.0-code, es gibt gute und schlechte Nachrichten.
Die gute Nachricht: regression ist praktisch unbekannt.
Den schlechten (oder andere gute) Nachricht: Wenn Sie installiert haben .NET 3.5 auf einem server mit 2.0-Websites, die Sie bereits getestet Regressionen 🙂
Wie oben erwähnt .NET 3.5 ist wirklich nur der .NET CLR 2.0 mit einigen zusätzlichen Baugruppen und neue compiler-Funktionen.
Und bei der Installation .NET 3.5 auch installiert ein service pack für .NET 2.0 und 3.0. Also irgendwie brechen ändern, wäre schon beeinflussen .NET 2.0-websites, ohne eine explizite Aktualisierung Schritt.
Scott Hanselman geschrieben, eine gute Erklärung des Unterschieds zwischen CLR-version und .NET Runtime version hier eine Weile zurück.
Eine Letzte Bemerkung - Sie sollten sich bewusst sein, dass bei der Verwendung von VS 2008 zum Ziel hat .NET 2.0, Sie sind tatsächlich kompilieren gegen die aktualisiert .NET 2.0. Also, wenn Sie verwenden Sie eine der (sehr wenigen und sehr selten benutzt) Methoden ruhig Hinzugefügt, um die aktualisierte version .NET 2.0, wie GCSettings.LatencyMode, wenn Sie die Bereitstellung auf Computer, die hat das original .NET 2.0 RTM, wird es nicht ausgeführt.
Lesen Sie mehr über es im detail hier, und Scott auch veröffentlicht eine vollständige Liste der API-änderungen hier)
Während tatsächlich ein Problem Auftritt, wie dies sehr, sehr unwahrscheinlich ist, in gewisser Weise (auch ohne die Vorteile der neuen 3,5-features), sind Sie besser dran, auf 3,5 🙂
Aktualisierung Ihrer Website.config mit ein paar neuere dlls. Habe ich noch irgendwelche wichtigen änderungen.
Wie ich es verstehe, .NET 3.5 ist .NET 2.0 mit einigen zusätzlichen Bibliotheken für die neuen Funktionen wie LINQ. Daher, Sie sollte in der Lage sein, um nahtlos aktualisiert.
Gibt es immer Potenzial für Bruch, aber ich schlage vor, Sie sichern Sie alles und geben Sie es eher früher als später. Wenn Sie halten, es Weg zu setzen, Sie werden feststellen, es ist viel schmerzhafter, wenn Sie mehrere Versionen von framework-API-änderungen zu machen.
Wenn Sie das Projekt aktualisieren, dann einfach die updates .csproj/.vbproj-Dateien mit der neuen version arbeiten. Sie können festlegen, dass die gezielte code-Basis, die innen Projekt-Einstellungen zu behalten-Funktionalität auf älteren framework-Versionen.
Wenn Sie in den upgrade-Assistenten, wählen Sie nicht zum Ziel, Ihren code zu 3.5, nichts von Ihrer Anwendung verändern wird. Der wesentliche Unterschied ist, dass es "visual-studify" Ihre Lösungs-und Projektdateien, so dass Sie möglicherweise nicht mehr geöffnet werden können, indem eine ältere IDE.
Alle änderungen werden in der web.config-Datei. RIESIGE wächst mit den neuen Einstellungen .NET 3.5 Assemblys, AJAX-Handler, und IIS7 Konfiguration-Einstellungen. Aber es gibt massig Dokumentationen im internet, die beschreiben Sie die Unterschiede.
Ich aktualisiert haben mehrere Projekte dieser Art und habe keine aktuellen änderungen. Als ein experiment, ich habe das an einem Projekt, dass der rest von meinem team war mit auf VS2005 und erlebt auch keine Probleme, obwohl ich sicher nicht zu überprüfen, in meinem Projektmappen-Datei (die wir vor Ort als eine Angelegenheit von Politik sowieso).
Die Ergebnisse sind für alle transparent, mit dem zusätzlichen bonus zu können, Zielen Sie auf verschiedene .Net-Versionen.