web-dev-qa-db-fra.com

Menu contextuel pour ajouter un contrôleur / vue manquant

J'ai intégré ASP.NET MVC 4 dans le site Web asp.net existant. Les deux fonctionnent bien, mais je ne vois aucun menu/raccourci pour créer un contrôleur/une vue dans Visual Studio IDE. Sont-ils uniquement disponibles pour le modèle ASP.NET MVC?

56
user1186065

Sont-ils uniquement disponibles pour le modèle ASP.NET MVC?

Oui, mais tu pourrais tricher. La façon dont Visual Studio affiche ces raccourcis consiste à examiner le type de projet et s'il voit qu'il s'agit d'un projet ASP.NET MVC, il les rendra disponibles. Mais comment sait-il qu'il s'agit d'un projet ASP.NET MVC? Après tout, ASP.NET MVC est un projet ASP.NET.

Ouvrez le .csproj fichier et recherchez le <ProjectTypeGuids> nœud de votre projet ASP.NET MVC 4. Vous verrez quelque chose comme ceci:

<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Ouvrez maintenant le .csproj fichier de votre projet ASP.NET standard et ajoutez simplement le {E3E379DF-F4C6-4180-9B81-6769533ABE47} GUID comme premier élément de la liste (si vous ne projetez pas ne se charge même pas). C'est tout. Maintenant, vous verrez les menus contextuels spécifiques ASP.NET MVC dans votre projet WebForms .

112
Darin Dimitrov

Étape pour changer le GUID

  1. Faites un clic droit sur le projet dans l'Explorateur de solutions
  2. Cliquez sur décharger le projet
  3. Cliquez de nouveau avec le bouton droit sur le projet dans l'Explorateur de solutions
  4. Modifier le dossier de projet/nom du projet.csproj
  5. GUID de Chagne
  6. Faites un clic droit et sélectionnez "Reload Project"

Dans <ProjectTypeGuids> tag ajoute l'un de ces GUID au début

{E3E379DF-F4C6-4180-9B81-6769533ABE47};

{E53F8FEA-EAE0-44A6-8774-FFD645390401};
32
Ali Adravi

Pour les personnes utilisant MVC 5, ajoutez cette clé

{E3E379DF-F4C6-4180-9B81-6769533ABE47}; 

au début de. Les autres guides ne fonctionneront pas.

8
Bjorn Vdkerckhove

Ne faites rien simplement mettre à jour votre projet MVC. Déclenchez cette commande dans votre console Nuget Package Manager.

Update-Package Microsoft.AspNet.Mvc

7

La réponse 2 était correcte, juste faux guid

{E53F8FEA-EAE0-44A6-8774-FFD645390401}

est ce dont vous avez besoin pour MVC dans VS2010

3
Don

En cliquant avec le bouton droit sur le projet dans l'Explorateur de solutions, vous devez décharger le projet, modifier le projet, modifier la balise à l'aide du graphique ci-dessous, puis recharger le projet. Collez le GUID approprié au début de la liste dans le fichier csproj.

Les différents GUID pour différentes versions de MVC:

ASP.NET MVC 1   {603C0E0B-DB56-11DC-BE95-000D561079B0}
ASP.NET MVC 2   {F85E285D-A4E0-4152-9332-AB1D724D3325}
ASP.NET MVC 3   {E53F8FEA-EAE0-44A6-8774-FFD645390401}
ASP.NET MVC 4   {E3E379DF-F4C6-4180-9B81-6769533ABE47}
ASP.NET MVC 5   {349C5851-65DF-11DA-9384-00065B846F21}
2
papadoo

Pour moi, il manquait à l'endroit où je m'attendais à ce qu'il existe (en haut du menu qui s'affiche lorsque vous faites un clic droit sur un dossier de vue et cliquez sur 'Ajouter'), mais je l'ai trouvé dans un menu sous-contextuel sous 'Nouveau À partir du modèle'! J'ai ré-installé plus nette, je suppose que c'est arrivé à cause de cela (également Visual Studio 2012):

enter image description here

1
t_plusplus

Je suis sur VS2012 et j'ai essayé la réponse de Dimitrov (en ajoutant un GUID particulier au ProjectTypeGuids du fichier de projet). Bien que cela me donne le menu contextuel manquant pour les actions du contrôleur, je manquais intellisense sur mon rasoir pages.

Il s'avère que je manquais de l'outillage VS pour la version du projet MVC sur laquelle je travaillais, et l'installation de cet outil (plutôt que de modifier le fichier de projet) a résolu mes problèmes.

page de téléchargement pour ASP.NET et les outils Web 2013.1 pour Visual Studio 2012

J'ai trouvé ce lien de téléchargement dans le billet de blog suivant:

Annonce de la sortie d'ASP.NET et des outils Web 2013.1 pour Visual Studio 2012

1
Mike Strother

J'ai eu le même problème lors de l'ouverture du projet MVC que du site Web. J'ai rouvert la solution via Open -> Project et cette fonctionnalité a fonctionné comme prévu.

1
dragy

Je sais que c'est un vieux post, mais je viens de rencontrer ce basculement entre VS2013 et VS2012 pour un projet MVC 5. Le problème que j'ai rencontré est que la version du modèle MVC que j'utilisais n'était pas installée à partir de la mise à jour de Visual Studio. VS2012 n'est pas venu avec MVC5 car il est sorti après, donc une mise à jour était nécessaire pour VS2012 pour ajouter le modèle. Idem avec VS2010 et MVC4 j'imagine.

Quoi qu'il en soit, le téléchargement de la mise à jour à partir de Microsoft a résolu mon problème car lorsqu'une autre version s'est ouverte et a enregistré le projet, il disparaîtrait à nouveau lors de l'utilisation du correctif ci-dessus.

Voici le lien vers la mise à jour VS2012 MVC5. Assurez-vous de télécharger et d'installer la mise à jour des outils et le plug-in VS.

http://www.Microsoft.com/en-us/download/details.aspx?id=41532

1
Dillon

A eu le même problème avec VS2015, a aidé à changer le contenu de ProjectTypeGuids en:

{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
1
you_rule

Voici ce qui a fonctionné pour moi avec VS 2017.

Vérifiez d'abord si vous pouvez créer un nouveau projet MVC vide.

Sinon - cela signifie que certains composants sont manquants. Lancez Visual Studio Installer (typicall se trouve dans C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe mais vous pouvez juste appuyer sur "start" et commencer à taper "visual studio installer")

Cliquez sur "modifier" et relancez-le simplement avec tous les composants existants cochés.

Assurez-vous simplement que "Développement Web ASP.NET" est coché.

0
Alex

Ce problème peut également se produire lorsque vous venez d'extraire une nouvelle copie de votre solution de votre référentiel de code et que les packages NuGet, y compris Microsoft.AspNet.Mvc, n'ont pas encore été téléchargés. La reconstruction de la solution résout le problème.

0
Theophilus

Lorsque tout le reste échoue (avant de réinstaller VS2015), vous pouvez réinitialiser le cache VS. Cela a fonctionné pour moi (après réparation - PAS d'ingérence avec GUIDS). Supprimez simplement le contenu des dossiers mentionnés dans ce lien (prend environ 30 secondes), puis exécutez la commande. Cela prend encore 10 secondes. Redémarrez VS et vous verrez les écrans d'un premier utilisateur dans VS. Ça a marché comme sur des roulettes.

http://blogs.msdn.com/b/willy-peter_schaub/archive/2010/09/15/if-you-have-problems-with-tfs-or-visual-studio-flush-the- user-cache-or-not.aspx

0
Joe Kehnast

Pour une version plus ancienne

{F85E285D-A4E0-4152-9332-AB1D724D3325}
0
isxaker

Vous avez raison. La présence de ces options de menu contextuel est spécifique au type/modèle de projet.

0
Nathan Taylor