Ich habe viele Asp.net-Demos heruntergeladen, die auf VS2003 (und VS2002) basieren. Wenn ich diese Demos verwende, können die meisten auf VS2003 basierenden Asp.net-Projekte nicht geladen werden, da einige Dateien nicht konvertiert werden können, und schließlich habe ich sie gefunden.
Der größte Unterschied zwischen dem VS2005-basierten Projekt von Asp.net und früheren Versionen des Projekts besteht darin, dass Teilklassen (partial) anstelle von Code-Verstecken (Codebehind) verwendet werden.
Daher habe ich folgende Methode gewählt:
1. Öffnen Sie das Projekt, indem Sie die Website öffnen. Auf diese Weise führt VS2005 auch die Konvertierung durch und meldet einen Fehler. Im Gegensatz zur direkten Lösung, die nicht geladen werden kann, werden diesmal jedoch alle Dateien der Website erweitert. Wenn Sie das Projekt jetzt ausführen, wird es nicht erfolgreich sein.
2. Öffnen Sie die Datei „filename.aspx“ in der Quellcodeansicht und ändern Sie das Attribut „Codebehind“ in der @Page-Direktive in „CodeFile“.
3. Die entsprechende Codebehind-Datei „filename.aspx.cs“ wird von System.Web geerbt. Der Klassendefinition von UI.Page geht das Schlüsselwort „partial“ voran.
4. Führen Sie das Projekt aus. Es wird Ihnen mitteilen, dass die Definition von „controlname“ bereits in „filename.aspx“ enthalten ist. Verfolgen Sie den Fehler in „filename.aspx.cs“ und löschen Sie die doppelten Definitionen, die auf Fehler hinweisen.
5. Wiederholen Sie dann die Schritte 2 bis 4, bis alle Dateien geändert wurden, und führen Sie dann das Projekt aus. Es sollte erfolgreich ausgeführt werden. Es kann jedoch sein, dass es ein paar Warnungen gibt, die darauf hinweisen, dass das eine oder das andere veraltet ist, also machen Sie sich darüber keine Sorgen.
Ich habe diese Methode verwendet, um alle alten, hartnäckigen Projekte (einschließlich Projekte aus den Jahren 2003 und 2002) erfolgreich zu konvertieren, und sie funktioniert wirklich jedes Mal. Dies ist nur die Methode, die ich selbst zusammengefasst habe. Vielleicht hat jemand eine bessere Methode, bitte geben Sie mir einen Rat.
http://www.cnblogs.com/nihgwu/archive/2006/08/11/474604.html