Webprojektkonvertierung aus Visual Studio .NET

Aktualisiert: November 2007

In Microsoft Visual Studio 2005 erfolgt die Verwaltung von Websiteprojekten und -dateien anders als in Visual Studio .NET 2002 und Visual Studio .NET 2003. (Diese Versionen werden in diesem Thema unter der Bezeichnung Visual Studio .NET zusammengefasst.) Daher wird ein Projekt, das in Visual Studio .NET erstellt wurde, zuerst in ein Webanwendungsprojekt konvertiert, bevor Sie es in Visual Studio 2005 verwenden können. Dieser Vorgang läuft automatisch ab, wenn Sie ein Visual Studio .NET-Projekt in Visual Studio 2005 öffnen. Der Konvertierungs-Assistent konvertiert die Webanwendung und reduziert die zum Beenden der Konvertierung erforderliche manuelle Bearbeitung auf ein Minimum. In diesem Thema wird der Konvertierungsvorgang beschrieben, und es werden die an den Visual Studio .NET-Dateien vorgenommenen Änderungen angegeben. Weitere Informationen über Webanwendungsprojekte finden Sie unter Übersicht über Webanwendungsprojekte.

Das Ziel des Konvertierungsvorgangs besteht darin, Ihnen das Öffnen eines Visual Studio .NET-Projekts in Visual Studio 2005 zu ermöglichen, dieses automatisch zu öffnen und es dann ohne Änderung der Funktionen auszuführen. Die Konvertierung erfolgt nur in eine Richtung, d. h., nachdem Sie ein Projekt in Visual Studio 2005 konvertiert haben, ist es nicht mehr möglich, das Projekt in Visual Studio .NET zu bearbeiten. Visual Studio 2005 verändert die Dateien in einem Projekt, Sie können jedoch Sicherungskopien der ursprünglichen Dateien erstellen. Visual Studio 2005-Dateien können weiterhin in Visual Studio .NET als eigenständige Dateien geöffnet werden (ohne bestimmte Features, z. B. IntelliSense), das Projekt als Ganzes wurde jedoch geändert. Falls dies erforderlich ist, können Sie das Visual Studio-Projekt aus den Sicherungsdateien wiederherstellen.

Sicherheitshinweis:

Bevor Sie ein vorhandenes Projekt in Visual Studio 2005 konvertieren, überprüfen Sie alle vorhandenen Dateien, insbesondere wenn weitere Benutzer Änderungen am Projekt vorgenommen haben. Suchen Sie nach Ihnen nicht bekannten Dateien. So können Sie verhindern, dass bösartiger Code in Visual Studio importiert wird. Grundsätzlich sollten Sie Visual Studio 2005 als normaler Benutzer und nicht als Administrator ausführen, es sei denn, Sie müssen administrative Aufgaben ausführen.

Dieses Thema enthält Informationen zu den folgenden Aspekten zum Konvertieren von Webprojekten in Visual Studio 2005:

  • Visual Studio 2005-Konvertierungsvorgang

  • Projektmappen und Projekte

  • Konvertierung von Projekteinstellungen

  • Konvertieren von bestimmten Konfigurationen

  • Datenkomponenten

  • Codemodule

  • Webdienste

  • Konvertierung und Quellcodeverwaltung

Visual Studio 2005-Konvertierungsvorgang

Die folgende Liste veranschaulicht den grundlegenden Konvertierungsvorgang von Webprojekten aus Visual Studio .NET in Visual Studio 2005:

  1. Öffnen Sie in Visual Studio 2005 eine vorhandene Visual Studio .NET-Website. Sie können alle folgenden Dateien und Verzeichnisse öffnen:

    • Eine Projektmappendatei (SLN)

    • Eine Projektdatei (VBPROJ, CSPROJ oder VJP)

    • Das Stammverzeichnis der Website

  2. Wenn eine Projektdatei gefunden wird, ruft Visual Studio 2005 den Konvertierungs-Assistenten zum Konvertieren des Webprojekts auf.

    Hinweis:

    Für Webprojekte ist in Visual Studio 2005 keine Projektdatei mehr erforderlich. Alle Dateien im Webprojektordner werden als Teil des Webprojekts betrachtet.

    Ausführliche Informationen über die Schritte des Konvertierungs-Assistenten finden Sie unter Gewusst wie: Konvertieren eines Visual Studio .NET-Projekts in Visual Studio 2005.

  3. Visual Studio 2005 konvertiert die Webanwendung so, dass statt ASP.NET, Version 1.x, nun ASP.NET, Version 2.0, verwendet wird. Das CodeBehind-Attribut in ASP.NET-Webseiten und -Benutzersteuerelementen wird beispielsweise in das neue CodeFile-Attribut geändert. Wenn eine Datei verändert wird, werden die ursprünglichen Dateiberechtigungen nicht beibehalten – die neue Datei verfügt über Lese-/Schreibberechtigungen, die dem Benutzer gewährt werden. Ausführliche Informationen über an Dateien vorgenommene Änderungen finden Sie unter Konvertierung von Webprojektmappen und Projektdateien.

  4. Eigenständige Klassendateien werden in das Verzeichnis App_Code verschoben.

  5. Dateien anderer Typen werden nicht verschoben. Dazu gehören Grafiken, HTML-Dateien usw. Außerdem werden Dateien, die sich außerhalb der Anwendung befinden, beim Migrationsvorgang ignoriert. Dadurch werden Dateien, die sich außerhalb der Anwendung befinden, vor Zugriff durch böswillige Benutzer geschützt, da in einer Projektdatei relative Pfade verwendet werden.

  6. Es wird ein Bericht mit dem Namen ConversionReport.txt erstellt und im Stammverzeichnis des konvertierten Webprojekts gespeichert. In dieser Berichtdatei werden alle Änderungen aufgelistet, die am Webprojekt vorgenommen wurden, und es sind möglicherweise Informationskommentare, Warnmeldungen und Fehler enthalten, die während der Konvertierung gefunden wurden. Wenn Sie im Konvertierungs-Assistenten die Option zum Anzeigen des Konvertierungsprotokolls nach Beendigung des Assistenten auswählen, wird in Visual Studio 2005 ein Konvertierungsbericht angezeigt. Weitere Informationen über das Format dieses Berichts finden Sie unter Format des Konvertierungsberichts für die Migration.

Hinweis:

Wenn das Projekt eine Quellcodeverwaltung verwendet, unterliegen die Webprojektdateien nach der Konvertierung in Visual Studio 2005 nicht der Quellcodeverwaltung.

Projektmappen und Projekte

Wenn Sie in Visual Studio 2005 eine Projektmappendatei öffnen, untersucht Visual Studio den Inhalt der SLN-Datei, um zu bestimmen, welche Arten von Projekten darin enthalten sind. Visual Web Developer konvertiert nur Webanwendungen (Webseiten und Webdienste). Wenn Sie eine Projektmappendatei öffnen, die andere Arten von Projekten enthält, z. B. Windows Forms-Projekte oder Konsolenanwendungen, werden nur die Webprojekte geöffnet und konvertiert.

Wenn Sie eine Projektdatei öffnen, konvertiert Visual Studio 2005 die Dateien, auf die dieses Projekt verweist. Es wird nicht versucht, Dateien zu konvertieren, die sich im gleichen Verzeichnis wie die Projektdateien befinden, die jedoch nicht zu dem Projekt gehören. Dies kann zu Buildfehlern führen. Wenn sich beispielsweise die Datei Page1.aspx und die Code-Behind-Datei Page1.aspx.cs in dem Ordner befinden, jedoch nicht in der Projektdatei vorhanden sind, konvertiert der Konvertierungs-Assistent keine der Dateien. Beim Kompilieren treten jedoch Buildfehler auf, da die Datei Page1.aspx und die Datei Page1.aspx.cs als Teil der konvertierten Webanwendung betrachtet werden.

Wenn das Projekt Verzeichnisse enthält, deren Namen in Visual Studio 2005 reserviert sind (z. B. App_Data oder App_GlobalResources), werden die vorhandenen Verzeichnisnamen von Visual Studio 2005 mit der Ergänzung "_old" (z. B. App_Data_old) versehen. Um dadurch entstandene fehlerhafte Verweise aufzulösen, muss der auf das neue Verzeichnis verweisende Code manuell geändert oder in die reservierten Verzeichnisse, z. B. App_Data oder App_GlobalResources, verschoben werden. Weitere Informationen finden Sie unter Ordner für freigegebenen Code in ASP.NET-Websites.

Konvertierung von Projekteinstellungen

Da Visual Studio 2005 die Einstellungen in Projektdateien nicht beibehält, werden Einstellungen für Visual Studio .NET-Projekte entweder in die Datei Web.config konvertiert, oder sie werden nicht konvertiert, wenn die Einstellungen nicht auf die gleiche Weise für Visual Studio 2005 wie für Visual Studio .NET gelten.

Ausführliche Informationen finden Sie unter Konvertierung von Webprojekteinstellungen.

Konvertieren von bestimmten Konfigurationen

Wenn das Quellprojekt eine benutzerdefinierte Buildkonfiguration enthält, werden Sie beim Konvertierungsvorgang aufgefordert, die zu konvertierende Konfiguration auszuwählen. Durch diese Auswahl wird bestimmt, welche Projekteinstellungen während der Konvertierung verwendet werden, um die Website in ihrem neuen Format zu konfigurieren.

Wenn das Quellprojekt nur die Standard-Buildkonfigurationen enthält (Release und Debug), werden beim Konvertierungsvorgang die Einstellungen der Debugkonfiguration verwendet.

Datenkomponenten

Das Modell zum Hinzufügen von Datenzugriff auf Webseiten hat sich für Visual Studio 2005 geändert. Auch wenn Visual Studio 2005 weiterhin ADO.NET-Komponenten für den Datenzugriff verwendet, steuern Visual Studio 2005-Seiten den Datenzugriff mithilfe von Datenquellensteuerelementen, durch die Datenverbindungsobjekte, Datenbefehlsobjekte und Datasets oder Datenreader gekapselt werden. Ausführliche Informationen finden Sie unter Übersicht über Datenquellensteuerelemente und Übersicht über Datenbindungsausdrücke.

Das Visual Studio .NET-Modell zum Verwenden von expliziten Instanzen von Datenverbindungen, Datenbefehlen und Datasets wird auch in Visual Studio 2005 unterstützt. Wenn Visual Studio 2005 Seiten oder Dateien konvertiert und dabei auf die Daten zugegriffen wird, werden die vorhandenen Datenobjekte als Ganzes konvertiert, und sie funktionieren weiterhin in Visual Studio 2005 wie in Visual Studio .NET. Es ist jedoch nicht möglich, diese Datenkomponenten im Visual Studio 2005-Webseiten-Designer (Entwurfsansicht) zu verwenden, da der Designer diese Objekte nicht unterstützt. Sie können weiterhin in der Quellansicht verwendet werden.

Datasets

Während der Konvertierung wird in Visual Studio 2005 das Schema (eine XSD-Datei) eines typisierten Datasets konvertiert und im Verzeichnis App_Code gespeichert. Die VB- oder CS-Datei, die die von Visual Studio konvertierte dataset-Klasse darstellt, wird nicht konvertiert, da die Website automatisch auf die XSD-Datei verweisen kann.

Codemodule

Eigenständige Codemodule (VB und CS-Dateien) werden unverändert in das Verzeichnis App_Code verschoben. (Dies gilt nicht für VB- und CS-Dateien, die Webseiten oder anderen ASP.NET-Dateien zugeordnet sind.) Alle Memberdeklarationen, die als Friend oder Internal gekennzeichnet sind, werden in Public geändert.

Beim Konvertierungsvorgang wird VB-Dateien eine Namespace-Anweisung hinzugefügt, die auf das Stammverzeichnis des Webprojekts zeigt. Während der Konvertierung werden außerdem dem compilerOptions-Attribut des compiler-Elements Klassen hinzugefügt, die noch nicht von ASP.NET automatisch importiert wurden.

Webdienste

Das Format, in das Webdienste konvertiert werden, entspricht im Grunde dem Format, das sie in Visual Studio .NET aufweisen. Die Klassendatei für einen Webdienst (die ASMX.VB- oder ASMX.CS-Datei) wird in das Verzeichnis App_Code verschoben. Alle Member, die als Friend oder Internal gekennzeichnet sind, werden in Public geändert. Das CodeBehind-Attribut der @ Page-Direktive in der ASMX-Datei wird aktualisiert, sodass es auf den neuen Speicherort des Codes zeigt.

In Visual Basic-Webdiensten wird der Klassendatei, die vom Stammnamespace im Webprojekt definiert wird, eine Namespace-Anweisung hinzugefügt. Beim Konvertierungsvorgang wird der Visual Basic-Datei zudem eine Imports-Anweisung hinzugefügt, um alle Importe für den Webdienst zu definieren, die nicht bereits standardmäßig von ASP.NET importiert wurden.

Konvertierung und Quellcodeverwaltung

Eintragungen im Quellcode werden nicht konvertiert. Nach der Konvertierung unterstehen die Dateien in einer Website nicht mehr der Quellcodeverwaltung.

Siehe auch

Aufgaben

Gewusst wie: Konvertieren eines Visual Studio .NET-Projekts in Visual Studio 2005

Exemplarische Vorgehensweise: Konvertieren eines Visual Studio .NET 2003-Webprojekts in ein Visual Studio-Webanwendungsprojekt

Konzepte

Konvertierung von Webprojektmappen und Projektdateien

Konvertierung von Webprojekteinstellungen

Format des Konvertierungsberichts für die Migration

Übersicht über Webanwendungsprojekte

Übersicht über Webanwendungsprojekte