Le nom de "ViewBag" n'existe pas dans le contexte actuel - Visual Studio 2015
Je commence à développer dans ASP.NET de nouveau et je suis tombé sur une petite erreur dans Visual Studio. Mon .cshtml fichiers afficher les erreurs lors de l'utilisation d'un peu de rasoir fonctions. Par exemple "Le nom de "ViewBag" n'existe pas dans le contexte actuel". Voici une photo:
Je suis à l'aide d'un projet de démonstration. Vous pouvez trouver le projet ici: https://github.com/Wintellect/Angular-MVC-Cookbook/tree/master/BasicProject
J'ai regardé à travers plusieurs autres threads et la plupart des experts suggèrent de mettre à jour le site web.fichier de configuration(s). Ces 2 fichiers de config sont déjà présents, et depuis il est assez populaire démo, je suppose qu'il a toutes les qualités requises configuration. Bien sûr, j'ai regardé à travers ces fichiers de config et ils ne sont en effet inclure les solutions proposées.
Autres détails:
- J'ai déjà utilisé le clean & reconstruire sur la solution mais cela n'a rien changé.
- Quand je créer un tout nouveau projet MVC il ne fonctionne
- Mon ami a le même problème et nous avons tous deux utilisent VS 2015 et Windows 10
- Je peux toujours lancer l'application et il fonctionne.
Merci d'avance.
- Quand il fonctionne encore c'est juste une erreur dans le fond du compilateur. Essayez de supprimer le <Projectname>.suo fichier.
- le projet qui êtes-vous ? de base ? crud, de routage ?
- malheureusement, cela ne fonctionne pas.
- J'ai essayé les deux, la base du projet, et le projet de routage. Le problème se produit dans les deux d'entre eux.
- Avez-vous le résoudre ? J'ai eu le même problème @Michjuh
- Hey désolé pour la réponse tardive mais je n'avais pas réussi à résoudre ce problème. Il n'est pas un problème pour la plupart des projets, donc j'ai cessé d'essayer par la suite. Je n'ai pas essayé Benjamin Anderson réponse et c'est quelque chose que je n'ai pas fait avant, donc, qui pourrait travailler.
- J'ai appris pourquoi il arrive. Vient de répondre à la question.
- Je n'ai pas de comprendre la situation réelle, mais dans mon cas, je suis allé dans les Propriétés sélectionné une cible précédente cadre (de 4,6 à 4.5.2, recompilé et tous disparu. Puis je suis retourné à 4,6 faire la même chose.
- avez-vous trouvez une solution ? je m en face d'un même problème
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème, en dépit de la configuration correcte.
Il s'est avéré que certains les mauvais fichiers dans le Composant Cache, empêchant le Rasoir vue de la reconnaissance de ViewBag, le Modèle, et HtmlHelpers. La suppression de ces fichiers résolu le problème (de bonnes versions de ces fichiers ont été créés prochaine fois que j'ai ouvert Visual Studio).
Les fichiers sont situés ici:
Supprimer tous les quatre fichiers:
J'ai par la suite vu le même problème sur plusieurs autres développeurs de machines et de ce correctif rapidement, elle n'en résout.
Mettre à jour les numéros de version dans les paramètres de l'
web.config
fichier dans le dossier Vues.Si vous avez mis à jour le MVC version via nuget, devrait être:
Autre dépendance versions doivent être mis à jour aussi. Compiler et les problèmes d'espace de noms dans les Vues pour MVC aides et les objets sont généralement liées à foiré
web.config
fichiers dans la Vue des dossiers.4.0.0.0
, j'ai pu le voir à partir des propriétés. Ce qui devrait être la solution dans mon cas?System.Web.WebPages.Razor
dans sectionGroup etSystem.Web.Mvc
à l'intérieur de la page de l'article*.cshtml
et*.vbhtml
fichiers et clean&reconstruire la solution. VS 2019 16.1.2<sectionGroup name="system.web.webPages.razor"
deVersion=2.0.0.0
àVersion=3.0.0.0
Trouver des "pages:Version" dans le appsettings et le mettre à jour vers la version 3.0.0.0. Mon web.config avait
et j'ai mis à jour à
Temporary ASP.NET Files
) n'a pas aidé, , mais cette réponse n'.J'ai accidentellement supprimé
web.config
de la Vue dossier, pensant que c'était inutile. Quand je l'ai remis, il a commencé à travailler.Après avoir essayé tout sous le soleil, il s'avère quelque chose avait modifié mon
System.Web.WebPages.Razor
<sectionGroup>
dans/Views/Web.Config
de la bonne CamelCaseSystem.Web.WebPages.Razor
à un minusculesystem.web.webpages.razor
qui, finalement, était de ma disparition.Espérant que cela puisse aider d'autres pauvre âme avec ce problème...
Pour la référence, c'est l'entrée correcte (pour mon cas)
j'ai fait face à ce problème plusieurs fois et finalement j'ai découvert que c'est arrivé parce que le dossier de vues doit contenir, il est propre de configuration web de
Parfois, il ne suffit pas de changer les numéros de version dans les paramètres du web.config. Ce problème se produit parce que Visual Studio 2015 n'a pas mvc4 de l'outillage.
Solution est de mettre à niveau votre projet MVC 5. Il résout totalement le problème.
Vous pouvez obtenir de l'aide à partir de cette page. Il explique clairement qu'il.
http://www.asp.net/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2
Par la façon dont Visual Studio team déclaré qu'ils vont ajouter mvc4 support de Visual Studio 2015, avec la première mise à jour.
tard pour le jeu, mais aucune de ces solutions n'a fonctionné pour moi.
J'ai mis à VS 2017, et le site a fonctionné, mais le compilateur Visual Studio a éclaté plus de .cshtml fichiers
TLDR;
mysolution.la sln a la mauvaise version
si vous souhaitez créer une nouvelle solution avec les nouveaux VS et de la comparer à la vôtre et la copie des informations de version sur.
plein étapes de mise à jour:
J'ai gâché plus d'une journée de travail sur ce sujet. J'ai tout essayé dans ce (et d'autres) des postes, en vain. Finalement, j'ai trouvé que j'avais besoin d'ouvrir le projet dans une manière différente. J'ai juste mis à jour d'un site web existant pour Visual Studio 2015, MVC5, .NET framework 4.5.2 et suis avec Windows 10, mais ils soupçonnent que la réponse aurait été la même pour les autres versions de chaque logiciel.
C'est donc l'option de menu j'ai été en choisissant d'ouvrir un site web:
Au lieu de cela, j'ai ouvert le fichier csproj la définition du projet à l'aide de cette option de menu:
J'ai ensuite eu la "solution propre" option beaucoup d'autres personnes de se référer à:
Cependant, je n'ai même pas besoin de cela - tout simplement travaillé! Eh bien, je suis à la prochaine série de problèmes, de toute façon ...
Après avoir essayer au moins 90% de chaque solution ou un truc de ce sujet (et d'autres), j'ai enfin trouvé!! Spoiler alert, il n'y a aucune trace de la logique est la soi-disant "solution": l'Exécution de la solution avec tous les onglets fermés enfin, lorsque rien d'autre n'aurait pu m'épargner les "ViewBag&Co n'existe pas dans le contexte actuel"... Vous avez été prévenu, pas de flipper logique!
Espère que ça va aider quelqu'un un jour ^^
De l'éteindre et de nouveau a fonctionné pour moi.
Vous pouvez essayer de redémarrer visual studio.
J'ai été en mesure de résoudre le problème en ajoutant ce qui suit à la partie supérieure de ma .cshtml page
Après recompilation j'ai été en mesure de supprimer cette ligne et l'erreur a disparu.
J'avais ajouté le contrôleur par
code correspondant est créé:
Mes erreurs a été modifiée par la modification de l'Étape 1:
code correspondant est créé:
Le problème était le suivant:
Je n'avais pas Hérité de ma classe de Contrôleur
Autres messages dans mon erreur inclus - qui ont tous été de ce problème:
Espère que ce changement permet à ceux qui n'ont pas prêté attention à leurs premiers pas.
Je étaient confrontés au même problème avec un de mon point de vue. Dans mon cas, j'ai juste nettoyé la solution et a essayé de reconstruire et de ses œuvres.
le lien suivant peut vous aider.
Il va vous montrer ce que pourrait être le problème
il résoudre mon problème. j'avais en quelque sorte le supprimer de mon site web.fichier de configuration de la vue dossier.
Après avoir essayé tout le reste et de se sentir un peu frustré, j'ai mis à jour le .NET framework sur mon MVC5 application de 4,5 à 4.5.2. D'une certaine manière, il a fixé mon problème. Espérons que cela aide.
J'ai résolu en remplaçant dans le web.config
avec