J'essaie d'utiliser ViewBag dans mon application, j'ai toutes les dll récentes, la dernière version de MVC 3, mais j'obtiens toujours l'erreur:
"Le nom 'ViewBag' n'existe pas dans le contexte actuel"
J'ai même désinstallé puis réinstallé MVC 3 et pourtant il n'y a pas de changement.
De plus, je ne crois pas que les DLL apparaissent dans le GAC.
Quel pourrait être mon problème? Ou comment ajouter les DLL au GAC?
dll
asp.net-mvc-3
gac
viewbag
éblouissant
la source
la source
Réponses:
Vous devez ajouter la configuration Razor spécifique à MVC à votre web.config. Voir ici: Razor HtmlHelper Extensions (ou autres espaces de noms pour les vues) non trouvés
Utilisez l' outil de mise à niveau MVC 3 pour vous assurer automatiquement que vous avez les bonnes valeurs de configuration.
la source
~/Views
emplacement normal , copiez également le~/Views/Web.config
à cet emplacement.J'avais le même problème. Il s'est avéré que je manquais le
./Views/Web.config
fichier, car j'ai créé le projet à partir d'une application ASP.NET vide au lieu d'utiliser un modèle ASP.NET MVC.Pour ASP.NET MVC 5, un
./Views/Web.config
fichier vanilla contient les éléments suivants:L'ajout d'un
./Views/Web.config
fichier contenant ce contenu a résolu ce problème pour moi.la source
<add namespace="System.Web.Optimization"/>
Essayez de nettoyer et de reconstruire. Cela a fonctionné dans mon cas.
la source
J'ai eu le même problème dans une solution qui avait été mise à niveau vers MVC 5 dans Visual Studio 2015.
Dans le fichier web.config dans le dossier Views (pas dans la racine web.config), j'ai mis à jour le numéro de version référencé dans
<configSections>
de2.0.0.0
à3.0.0.0
.la source
Après avoir essayé différentes choses, il s'est avéré que c'était le cache VS. Vous pouvez le résoudre en supprimant les fichiers de cache situés dans:
J'ai fermé mon projet, supprimé les fichiers sur ce chemin et rouvert mon projet, nettoyé la solution et l'ai reconstruite et le problème a été résolu
Les fichiers seront recréés lors du prochain lancement de Visual Studio
la source
%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\ComponentModelCache
J'ai eu le même problème et crimbo m'a donné le bon indice, il a été causé par le fichier ./Views/Web.config qui était présent mais ne contenant pas les bons espaces de noms je suppose ...
J'ai créé un projet MVC5 vierge et importé son ./Views/Web.config dans mon projet existant et les ondes rouges sous chaque utilisation de ViewBag ont disparu!
la source
Si vous utilisez Visual Studio 2013 et que vous aimez utiliser MVC 3, vous obtenez cette erreur car Visual Studio 2013 ne prend pas en charge MVC 3 de manière native (même si vous modifiez ./Views/web.config), uniquement MVC 4: https: // msdn .microsoft.com / fr-fr / library / hh266747.aspx
la source
J'avais un
./Views/Web.Config
fichier mais cette erreur s'est produite après la publication du site. Il s'avère que la propriété d'action de génération du fichier a été définie sur auNone
lieu deContent
. Changer cela pourContent
permettre à la publication de fonctionner correctement.la source
J'ai eu ce problème après avoir modifié l'espace de noms par défaut de l'application dans la boîte de dialogue Propriétés.
Le ./Views/Web.Config contenait une référence à l'ancien espace de noms
la source
Dans mon cas, changer la page Web: Version à la valeur appropriée a résolu mon problème, pour moi la valeur correcte était (2.0.0.0 au lieu de 3.0.0.0):
la source
Après avoir essayé toutes les approches, aucune d'elles n'a fonctionné pour moi car je n'ai que des configurations correctes. enfin
La suppression de tous les fichiers de «temp» et «% temp%» du système a permis de résoudre ce problème.
Ouvrez la commande Exécuter (Windows + R) et tapez les chaînes ci-dessus et supprimez tous les fichiers temporaires.
la source
Si vous avez essayé toutes les réponses disponibles et que vous ne trouvez toujours pas la réponse, cela peut résoudre le problème. Si vous avez différentes configurations de solutions telles que Debug, Release, etc., définissez le chemin de sortie du projet sur «bin» et compilez le projet. Annuler la modification après la compilation.
VS recherche les dll dans le dossier bin
la source
J'avais déjà essayé de supprimer le fichier bin et obj et de redémarrer VS et je n'avais pas de chance.
J'ai également eu ce problème à plusieurs reprises et c'est difficile à résoudre à chaque fois. Cela est souvent dû au fait que le fichier web.config n'a pas la version correcte de l'une des références. Cela signifie que cliquez sur la référence dans Visual Studio pour voir la version dans l'onglet des propriétés, puis faites-la correspondre à la version dans les fichiers web.config.
Une autre méthode consiste (si possible) à mettre à niveau vers une version ultérieure du framework .net, puis à supprimer les fichiers bin / obj et à redémarrer Visual Studio. Je ne peux que supposer que cela change quelque chose dans le
Une vérification rapide de la différence entre le fichier csproj ne montre en fait aucune différence majeure ... Mais les différences qu'il a montrées étaient (j'ai ajouté (supprimer) pour afficher l'ancienne ligne)
Dans le fichier Web.Config (pas celui de View)
Il a également ajouté (au même fichier web.config) mais je l'ai supprimé manuellement
Enfin, dans la console du gestionnaire de packages, ajoutez
update-package
Exécutez le site Web localement et voyez toutes les erreurs de compilation corrigées par mon deuxième paragraphe (correspondant aux versions des références)
la source
J'ai mis à jour les pages Web: Version sous dans le dossier ./Views/Web.Config mais ce paramètre était également présent dans web.config à la racine. Mettre à jour les deux ou supprimer de la racine web.config
la source
Comme @Wilson Vallecilla l'a déjà mentionné. Veuillez suivre les étapes ci-dessous pour supprimer le cache:
Veuillez suivre le chemin ci-dessous pour découvrir les fichiers:
J'ai fermé mon projet, supprimé les fichiers sur ce chemin et rouvert mon projet, nettoyé la solution et l'ai reconstruite et le problème a été résolu
La suppression de vos fichiers ASP.NET temporaires aide également. C: \ Users \ votre.nom.ici \ AppData \ Local \ Temp \ Temporary ASP.NET Files.
Cela fonctionne pour moi.
Merci!
la source
Pour MVC5, au cas où vous construisez une application à partir de zéro. Vous devez ajouter un fichier web.config dans le dossier Views et y coller le code suivant.
Notez que pour MVC 3, vous devrez changer de version en 3.0.0.0 à
Vous devrez peut-être fermer et ouvrir à nouveau la page * .cshtml pour voir les modifications.
la source