Wer hat sich noch nicht über die spezielle Behandlung von Website- oder Webservice-Projekten in Visual Studio 2005 gewundert? Diese Web-Projekte haben keine Projektdatei und werden auch nicht beim Neuerstellen einer Solution zugeordnet. Das erschwert das Erstellen von komplexen Webanwendungen, in der andere Web-Projekte (z.B. Webservices) referenziert werden, da es keinen umfassenden Container gibt. Das Hauptproblem liegt aber in der Migration von Web-Projekten von VS.NET 2003, da dort Web-Projekte ähnlich wie "normale" Projekte geführt wurden und das Konzept der "Website-Projekte" noch nicht existierte.
Dafür hat Microsoft mittlerweile
ein Update und ein Add-In herausgebracht, sodass nun auch Web-Anwendungsprojekte (Web Application Projects) in Visual Studio 2005 erstellt werden können. Wichtig bei der Installation ist, dass man Update
und Add-In installiert, da das Add-In die notwendigen Projekt-Templates enthält, die allerdings ohne das Update nicht funktionieren.
Eine weitere Eigenschaft der Web-Anwendungsprojekte ist, dass die Assemblies nun für die ganze Web-Anwendung erstellt werden können und nicht separat für jede einzelne ASP-Seite. Außerdem hat man mehr Kontrolle über den Build-Prozess, z.B. kann man Pre- und Post-Build-Events definieren.
Allerdings hat die Verwendung von Web-Anwendungsprojekten auch ein paar Nachteile. So ist das Code-Behind-Modell Pflicht für diese Projekte, Single-Page-Code ist nicht möglich (d.h. ASP- und C#/VB-Code sind in separaten Dateien, was prinzipiell eine gute Idee ist

). Auch kann man nicht mehr einfach jedes Verzeichnis einfach als Website öffnen, sondern muss zunächst eine Projekt dafür anlegen. Da das Add-In die Web-Anwendungsprojekte zu den Projekt-Templates in Visual Studio 2005 nur hinzufügt und die existierenden Templates für Website-Projekte weiterhin erhalten bleiben, ist dies kein ernsthaftes Problem.
Eine detaillierte Gegenüberstellung zwischen Web-Anwendungsprojekten und Website-Projekten gibt es beim
MSDN. Interessant in diesem Zusammenhang ist auch das
Add-In für "Web Deployment Projects", mit dem das Deployment von komplexen Web-Anwendungsprojekten erleichtert wird.