2008-09-04 12 views
10

J'ai mis à jour une application MS Visual Studio de VS 2003 vers VS 2008 (Ciblage .NET 2.0). Dans le cadre du processus de conversion, l'assistant a dit que je devais prendre l'étape supplémentaire de convertir mon projet en un site Web par clic droit et bla bla bla ...Que signifie "Convert to Website" de VS 2008?

Je n'ai pas suivi les instructions et l'application web semble fonctionne bien.

Ma question est la suivante: est-ce que je devrais m'inquiéter de pousser cela vers un système de production? Qu'est-ce qui se passe exactement ici?

Répondre

8

Il existe deux types d'applications Web dans ASP.NET: le site Web et le projet d'application Web. La différence entre les deux sont discutés ici:

Difference between web site and web applications in Visual Studio 2005

Convertir en site Web vous permet de convertir un projet d'application Web à un site Web. Visual Studio 2003 a utilisé le style de projet d'application Web, mais initialement VS2005 uniquement les sites Web pris en charge. VS2005 SP1 a ramené des applications Web.

Si vous ne souhaitez pas convertir votre projet en site Web, appliquez SP1 si vous utilisez VS2005. VS2008 peut prendre en charge non plus.

3

Convertir en site Web déplace toutes vos déclarations de contrôle de la classe de page principale vers un fichier secondaire (yourpage.aspx.designer.cs). Il le fait en utilisant une classe partielle. C'est-à-dire la même classe pour votre page, mais divisée en deux fichiers séparés.

Ceci permet au concepteur VS2k5 (et VS2k8) de générer du code pour vos pages sans déverser de spaghetti de code généré dans le fichier de classe principal.

Vous n'avez pas besoin de faire cette étape pour construire le projet, mais si vous continuez à gérer le projet, vous le voudrez aussi.

EDIT:

Hé, regardez, MSDN me sauvegarde:

Pour convertir le code à utiliser le modèle de classe partielle

  1. Assurez-vous que le code compile sans erreur.
  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis cliquez sur Convertir en application Web. Cette commande parcourt chaque page et contrôle utilisateur dans le projet. Il déplace toutes les déclarations de contrôle dans un fichier .designer.cs ou designer.vb. Il ajoute également des déclarations de gestionnaire d'événements au balisage de contrôle de serveur dans les fichiers .aspx et .ascx.
  3. Une fois le processus terminé, vérifiez dans la fenêtre Liste des tâches si des erreurs de conversion ont été signalées.
  4. Si la liste des tâches affiche des erreurs, cliquez avec le bouton droit sur la page correspondante dans l'Explorateur de solutions et sélectionnez Afficher le code et Afficher le fichier de code pour examiner le code et résoudre les problèmes.
  5. Recompilez le projet pour vous assurer qu'il est compilé sans erreur.
1

Il existe deux types d'applications Web dans ASP.NET: le site Web et le projet d'application Web. Convertir en site Web vous permet de convertir un projet d'application Web en site Web.

Pour autant que je me souvienne, Convertir en un site Web ne le fait pas, le projet d'application Web est une structure d'application régulière avec votre bac typique \ etc

Le projet WebSite place est basé sur la concept d'un répertoire App_Code pour les classes, et un répertoire App_Date pour les données, avec vos fichiers ASPX habituels allant n'importe où. L'idée est d'éviter d'avoir à précompiler dans des DLL avant le déploiement, ce qui peut être plus facile dans certaines situations d'hébergement partagé.

Je ne suis pas au courant d'un assistant qui va restructurer le projet entre ces types, mais je peux me tromper.

1

Convertir en site déplace toutes vos déclarations de contrôle de la principale classe de page dans un fichier secondaire (yourpage.aspx.designer.cs).

Pourquoi voudrais-je faire cela? C'est déjà assez grave qu'il y ait un fichier .js .css .vb .aspx pour chaque page. Ai-je vraiment besoin de diviser le fichier .vb en deux autres fichiers juste pour cacher les déclarations? page.designer.aspx.vb.h quelqu'un?