2010-10-21 5 views
2

Nous construisons des sites Web ASP.Net depuis de nombreuses années. Pendant ce temps, nous avons rassemblé beaucoup de connaissances sur ASP.Net. Nous savons quoi utiliser, un quoi pas. Un problème est toujours, constamment, nous dérange. J'espère résoudre ceci pour une fois pour toutes.Comment placer les fichiers ASPX dans des projets d'application Web séparés dans une solution?

Nous avons une solution assez grande avec beaucoup de fichiers aspx. Tous les fichiers aspx résident dans un projet d'application Web. Ce gros WAP unique doit être scindé en plusieurs petits projets. Le raisonnement exact est hors sujet, s'il vous plaît croyez-moi ;-).

Il y a plusieurs façons d'accomplir cela, mais je ne sais toujours pas quelle serait la meilleure façon de le faire. Nous utilisons ASP.Net 4.0 et Visual Studio 2010 Premium.

Tout conseil est grandement apprécié.

Ceci est notre travail actuel autour (qui ne nous plaît pas)

  1. Créer un WAP (Runner).
  2. Créer une seconde WAP (ProjectA)
  3. Créer un troisième WAP (ProjectB)
  4. Supprimer les années web.config dans ProjectA et ProjectB
  5. Créer simple ASPX-fichier Runner, ProjectA et ProjectB avec un bonjour un message mondial
  6. Retirer ProjectA et ProjectB
  7. Aller à l'Explorateur Windows
  8. Déplacer les dossiers ProjectA et ProjectB dans le dossier Runner
  9. Retour à Visua l studio
  10. Ajouter un projet existant à la solution (ProjectA et ProjectB)
  11. Hit F5
  12. Naviguer vers http://localhost:4867/WebForm1.aspx
  13. Naviguer vers http://localhost:4867/ProjectA/WebForm1.aspx
  14. Accédez à http://localhost:4867/ProjectB/WebForm1.aspx

Tada! Les travaux ci-dessus, mais il se sent comme un hack et ça sent mauvais. Y a-t-il un meilleur moyen?

+0

Avec l'aide de @Ray et @Dirk, il est clair qu'il n'y a pas de solution appropriée, seulement des hacks laids. Dommage. – Florian

Répondre

1

Here est ce que Scott Guthrie dit à ce sujet. Je pense que la deuxième méthode est un sur-ensemble de votre procédure. À mon avis vous avez raison: c'est un hack - mais le officiel.

1

Je suggère de créer une nouvelle solution et de créer vos nouveaux projets d'applications Web vides requis. Ensuite, copiez manuellement vos fichiers à partir de leur emplacement d'origine dans les nouveaux dossiers appropriés qui ont été créés lorsque vous avez créé les projets vides. Après que tous les fichiers sont en place, retournez à VS. Définissez Solution Explorer sur 'Afficher tous les fichiers'. Sélectionnez les fichiers dont vous avez besoin dans chaque projet, faites un clic droit, puis sélectionnez «Inclure dans le projet». La seule ride que je peux penser est que la création de toutes les applications web signifiera que vous avez un fichier web.config dans chacun d'eux. Si c'est ce dont vous avez besoin, alors bien. Sinon, vous créez certains projets en tant que bibliothèques de classes.

+0

merci, mais ce n'est malheureusement pas ce que je cherche. a) vous ne pouvez pas ajouter un fichier aspx à une bibliothèque, b) lorsque vous avez deux fichiers WAP et F5-ing le premier, vous ne pouvez pas accéder aux fichiers aspx dans le second (juste pour le mettre simplement). Aucune suggestion? – Florian

+0

J'ai un certain nombre de projets de bibliothèque de classes qui comprennent des fichiers ascx (mais pas aspx). J'ai juste essayé un aspx comme expérience et il a été inclus sans problème. Quelle est l'erreur que vous obtenez? Je ne suis pas sûr de comprendre votre (b) - y a-t-il un message d'erreur? Avez-vous des fichiers web.config dans plusieurs dossiers? De plus, je n'utilise jamais F5. Je lance le site normalement dans IIs, et pour le débogage, j'utilise 'Attach To Process' dans le menu de débogage – Ray

+0

Hi Ray. Merci pour ton aide. C'est apprécié. a) Lorsque vous ajoutez un élément à ma nouvelle bibliothèque de classes, il n'y a simplement aucune option pour ajouter un formulaire Web. b) nous déboguons aussi via IIS :) La seule façon de faire ce travail est de mettre en place un répertoire virtuel dans iis. Cela fonctionne, mais ne me sens pas bien. En même temps, je comprends la logique derrière cela. – Florian

Questions connexes