ASP.NET Web Site ou ASP.NET Web Application ?

ASP.NET Web Site ou ASP.NET Web Application ?


Source : Stack Overflow [visual-studio]

Site Web :

Le projet Web Site est compilé à la volée. Vous vous retrouvez avec beaucoup plus de fichiers DLL, ce qui peut être pénible. Il pose également des problèmes lorsque vous avez des pages ou des contrôles dans un répertoire qui doivent référencer des pages et contrôles dans un autre répertoire, car l’autre répertoire pourrait ne pas encore être compilé dans le code. Un autre problème peut survenir lors de la publication.

Si Visual Studio n’est pas configuré pour réutiliser constamment les mêmes noms, il créera de nouveaux noms pour les fichiers DLL générés par les pages en permanence. Cela peut mener à plusieurs copies proches de fichiers DLL contenant le même nom de classe, ce qui générera de nombreuses erreurs. Le projet Web Site a été introduit avec Visual Studio 2005, mais il s’est avéré peu populaire.

Application Web :

Le projet Web Application a été créé en tant que complément et fait désormais partie du SP 1 de Visual Studio 2005. Les principales différences sont que le projet Web Application a été conçu pour fonctionner de manière similaire aux projets Web livrés avec Visual Studio 2003. Il compilera l’application en un seul fichier DLL au moment du build. Pour mettre à jour le projet, il faut le recompiler et publier le fichier DLL pour que les modifications prennent effet.

Une autre fonctionnalité intéressante du projet Web Application est qu’il est beaucoup plus facile d’exclure des fichiers de la vue du projet. Dans le projet Web Site, chaque fichier que vous excluez est renommé avec un mot-clé d’exclusion dans le nom de fichier. Dans le projet Web Application, le projet garde simplement la trace des fichiers à inclure/exclure de la vue du projet sans les renommer, ce qui rend les choses beaucoup plus propres.

Référence

L’article ASP.NET 2.0 - Web Site vs Web Application project donne également des raisons pour utiliser l’un plutôt que l’autre. En voici un extrait :

  • Vous devez migrer de grandes applications Visual Studio .NET 2003

(Réponse tronquée)