web-dev-qa-db-fra.com

Un échafaudage de contrôleur manque-t-il dans MVC 6?

Lors de la création du contrôleur dans MVC 6, l'échafaudage ne s'affiche pas pour la création de méthodes de contrôleur? Seront-ils manquants ou dans la version de production?

11
Mostafa

Si vous vous référez à l'échafaudage CRUD pour les contrôleurs et les vues avec ASP.NET 5 et MVC 6, il a été séparé de l'interface graphique de Visual Studio et déplacé vers la ligne de commande.

Vous aurez besoin d'un paquet appelé CodeGenerators, ajoutez-le à votre fichier de configuration project.json en tant que:

"dependencies": {
    ...
    "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta4",
    ...
},

Pour le moment, VS n’offre pas de commande graphique pour effectuer un échafaudage, mais vous pouvez consulter ce lien:

ASP.NET 5 (MVC6) Ground Up # 4 - Échafaudage CRUD en MVC

7
Fabio Carello

Les espaces de noms ont changé dans Core 1.0

"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.0.0-preview1-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.0.0-preview1-final"

infos de:

https://wildermuth.com/2016/05/17/Convertir-an-ASP-NET-Core-RC1-Project-to-RC2

9
plumdog

La syntaxe de ligne de commande pour les contrôleurs d’échafaudage dans MVC 6 est la suivante:

dnx. gen controller -name NameOfController --dataContext DBContextName --model NameOfModel

2
Mostafa

Depuis la dernière mise à jour 1 de Visual Studio 2015, l’échafaudage ASP.net 5 RC (update1) est intégré à Visual Studio.

Pour ce faire, incluez les éléments suivants dans votre fichier project.json:

"dependencies": {
    ...
    "Microsoft.Extensions.CodeGenerators.Mvc": "1.0.0-*",
    ...

Ensuite, vous pouvez le trouver en faisant un clic droit sur le répertoire Contrôleurs -> Ajouter -> Nouvel élément échafaudé

2
Rick

Il a été difficile de faire fonctionner cela dans VS2015 après une mise à niveau vers la version 1.1, mais les dépendances et les outils suivants de votre project.json devraient fonctionner si vous vous connectez à SQL pour échafauder vos entités également.

{
 "dependencies": {
"Microsoft.EntityFrameworkCore": "1.1.0",
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": "1.1.0-preview4-final"
},

"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": "1.1.0-preview4-final"}
}
1
K7Buoy

Ce qui suit devrait résoudre votre problème.

  1. Ouvrez VS2015 => OUTILS => Personnaliser.
  2. Sélectionnez Commandes.
  3. Sélectionnez le menu contextuel.
  4. Sélectionnez Menus contextuels du projet et de la solution | Dossier | Ajouter.
  5. Vérifiez que «Controller» apparaît.
  6. Déplacez l'élément du contrôleur vers le haut.
  7. Redémarrez Visual Studio.
0
PVIJAY