8
votes

Solution séparée en différents projets

Je suis en train d'apprendre actuellement ASP.NET MVC; J'utilise Visual Studio Express 2012 avec MVC4 (qui est la dernière version) et je suis totalement nouveau à ce sujet. Mon objectif est de réécrire une énorme application Web à MVC, alors on m'a dit de séparer ma solution principale en 3 projets à l'aide de la première méthode du code:

  • le noyau (modèles et contrôleurs que je suppose)
  • L'UI (vues, scripts et contenu)
  • et la base de données (l'entité Framework 5.0 sera utilisée)

    Je suis assez familier avec MVC, mais ne pas séparer des choses dans différents projets. Maintenant, je suis un peu perdu, je n'ai aucune idée de la façon de faire cela, ce qui devrait faire référence à qui, où, comment, etc.


2 commentaires

Je ne suis pas sûr de ce qui se passe avec les modifications ici. J'ai restauré la question initiale. Marquez des mots tels que MVC, car le code n'est pas correct et que l'utilisation de la question initiale de + apparaît déjà correctement en tant que liste d'éléments.


@David Scoresby, je peux vous envoyer un PDF pour cette exigence. Pouvez-vous me donner votre identifiant de messagerie?


3 Réponses :


0
votes

Il y a des tutoriels disponibles ici: http://www.asp.net/mvc Cela m'a vraiment aidé à obtenir les bases du MVC, mais sachez - parfois, il manque des pièces dans la vidéo, mais vous pouvez trouver le code qui n'est pas fourni facilement ailleurs.

bonne chance :)

Les tutoriels sont utilisés pour afficher le code en premier.


1 commentaires

Le problème avec ces tutoriels est qu'ils utilisent la structure MVC de base fournie par Visual Studio, que je ne vais pas utiliser.



-1
votes

Créer une solution vide à l'aide du modèle de solution vierge Visual Studio

Ajouter un dossier Solution (le nom du dossier sera votre nom de projet)

Cliquez dessus avec le bouton droit de la souris sur ce dossier et sélectionnez Ajouter un projet, sélectionnez «Bibliothèque de classe» (pour la logique de domaine C # Classes)

De même encore cliquez sur le bouton droit sur le dossier et sélectionnez Ajouter un projet, sélectionnez Template ASP.NET MVC3

Alors de la même manière, vous créez le modèle de test comme nouveau projet.

Pour plus d'informations, vous pouvez suivre ce livre http://www.apress.com/9781430234043 < / p>


1 commentaires

Ce lien semble être un téléchargement non autorisé de manière heureuse. Si c'est légitime, veuillez clarifier.



3
votes

Votre solution pourrait être structurée de cette manière:

  1. UI - ASP.NET Projet d'application MVC contenant les contrôleurs, vues, les modèles, la logique de mappage entre vos modèles de domaine et afficher des modèles, des scripts, des styles, ...

  2. DAL (EF 5.0, Modèles de domaine autogéné-autogénéré EF, contextes de données, ...) Tout ce qui est spécifique à la récupération de données

    La couche UI fera ensuite référence à la couche dal.

    Certaines personnes peuvent également opter pour externaliser les contrôleurs, voir les modèles et la mappage de la logique dans une troisième couche qui fera à son tour la couche dal. La couche d'interface utilisateur dans ce cas fera référence à la fois d'autres couches.


8 commentaires

Ma question est maintenant de savoir comment faire cela, je veux dire quels dossiers à déplacer / ne pas bouger (global, app_start par exemple), quel projet devrait référencer l'autre, etc ...


Vous commencez par un modèle de projet Vide ASP.NET MVC. De cette façon, vous n'avez pas besoin de déménager quoi que ce soit, car rien n'existe. Vous ajoutez un deuxième projet de bibliothèque de types de catégorie à votre solution dans laquelle vous mettez toutes vos trucs spécifiques EF. Ensuite, vous avez le projet d'application ASP.NET MVC Référence de la bibliothèque de classe contenant votre logique DAL. Ensuite, vous pouvez commencer à ajouter des contrôleurs dans votre projet principal.


Merci, qu'est-ce que je veux déplacer mes points de vue, votre contenu et mon script vers un autre projet (comme je l'ai dit, à la fin, je veux un projet d'interface utilisateur, un projet de base et un projet DAL - que vous venez d'expliquer)


Vous ne devez pas déplacer vos points de vue, votre contenu et vos dossiers de script. Ils doivent faire partie de votre projet ASP.NET MVC. Vous pouvez déplacer vos contrôleurs et afficher des modèles dans un troisième projet si vous le souhaitez. Ensuite, le projet ASP.NET MVC fera référence à la fois aux projets DAL et CORE. Le projet de base ne fera référence que le projet DAL.


Les choses deviennent plus claires. Maintenant, comment puis-je dire mon projet UI (l'ASP.NET MVC ONE) que ses contrôleurs et ses modèles sont situés dans un autre projet? Mon projet de contrôleur / modèle doit-il être ASP MVC? Merci pour ton aide


Vous n'avez pas besoin de le dire quoi que ce soit. Par défaut, l'usine de contrôleur ASP.NET MVC recherchera des classes publiques découlant du contrôleur dans tous les projets référencés. Ainsi, par exemple, supposer que vous avez conservé les itinéraires par défaut, lorsqu'un utilisateur tente de naviguer vers / home / index asp.net mvc recherchera un nom de classe public homecontroller . Si vous avez référencé le projet principal de votre projet ASP.NET MVC, il le trouvera, instanciez-le et utilisez-le. En ce qui concerne les modèles de vue, car ils sont utilisés par vos contrôleurs, vous n'avez toujours pas besoin de configurer explicitement quelque chose de spécifique.


Il semble fonctionner bien, le seul problème est que vous ne pouvez pas cliquer avec le bouton droit de la souris -> Ajouter le contrôleur / View aussi facilement qu'auparavant, mais ça va. Merci beaucoup!


Afin de conserver certaines fonctionnalités typiques du projet Web VS, vous pouvez créer vos projets enfant à partir d'un modèle vide ASP.NET MVC (au lieu d'une bibliothèque de classe < / i> un), puis supprimez certains fichiers indésirables. Voir Ce blog post