2010-07-28 23 views
4

Si vous avez commencé à développer en tant que projet, à quel point est-il difficile de migrer vers un processus de développement de site Web?Migration d'un projet VS vers un site Web

+0

Quelqu'un pourrait mieux éditer le titre de cette question car le contenu est en fait une autre question. Je voudrais éditer, mais malheureusement, je n'ai pas assez de rep – citronas

+1

Attendez, ne va pas d'un projet d'application Web à un projet de site Web une dégradation? Je sais qu'ils ont tous les deux leurs avantages et leurs inconvénients, mais je crois que Microsoft lui-même déconseille les projets de site Web et a même posté un tutoriel sur la façon de convertir des projets de sites Web existants en projets d'applications Web. Pourquoi voulez-vous aller dans la direction opposée? Cet article peut vous aider à décider: http://msdn.microsoft.com/en-us/library/aa730880%28VS.80%29.aspx#wapp_topic5 –

+0

la raison pour laquelle je voudrais faire cela est parce qu'il facilite l'agrégation des fichiers de différents développeurs – locoboy

Répondre

1

La migration d'un projet d'application Web vers un site Web n'est pas très difficile, mais peut avoir quelques pièges. Sachez toutefois que les projets de sites Web présentent des inconvénients distincts. Leurs dossiers bin sont en désordre, la réutilisation de code est plus difficile, sauf pour l'architecte logiciel discipliné, les sites Web ne peuvent pas utiliser avant MSBuild et post-construction des événements, etc.

Certaines choses à considérer lors de la conversion d'un site:

  • Créez un nouveau site Web dans un dossier différent et copiez-y les fichiers pertinents. Il n'est pas pratique pour un projet d'application Web et un site Web de coexister.
  • Les sites Web n'utilisent pas le fichier .designer.cs pour les contrôles utilisateur, les pages maîtres et les pages, vous pouvez donc les importer.
  • Tout le code non-code-behind doit être déplacé vers le dossier App_Code ou une bibliothèque référencée pour être généralement accessible à toutes les pages.
  • Les codes-behind de service Web doivent être déplacés vers le dossier App_Code.
  • Les références de service doivent être supprimées et reconstruites.
  • Ajoutez à nouveau des références au site Web comme vous le feriez pour un projet d'application Web.
  • Il n'est pas strictement nécessaire de déclarer les espaces de noms pour les classes de code-behind, mais il n'est pas non plus strictement nécessaire de supprimer les déclarations d'espace de noms existantes.

Gotcha plus susceptibles de mordre:

  • Pages ne connaissent le code de l'autre. Dans un projet Web App, tout le code est dans un assembly et est donc plus facile à partager. Dans un site Web, il existe un assemblage par répertoire/sous-répertoire.
0

Je voudrais ajouter aux étapes indiquées ici. Dans l'application Web tout le code derrière dans une DLL où les sites Web ont une DLL distincte pour chaque page ou dossier, d'où il n'y a pas de balise héritée dans la page ASPX pour le projet d'application Web, supprimer tous les balises héritées et placer codefile = "... ..aspx.cs "dans la directive Page. Pendant que vous publiez ou précompilez le site Web, ces héritages = ".... aspx.cs" sont remplacés par le type de page compilé dans la page dll.