92 votes

Le nom 'ViewBag' n'existe pas dans le contexte actuel.

J'essaie d'utiliser ViewBag dans mon application, j'ai toutes les dlls récentes, la dernière version de MVC 3, mais je reçois 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 aucun changement.

De plus, je ne pense pas que les fichiers DLL apparaissent dans le GAC.

Quel pourrait être mon problème ? Ou comment ajouter les dll au GAC ?

1 votes

Gardez à l'esprit que, pour la version 5.2.2.0, le web.config doit pointer vers la version 5.2.2.0, mais que le Views/web.config doit pointer vers la version 5.1.0.0 pour l'assemblage MVC.

0voto

Ashish Kaul Points 1

Pour MVC5, dans le 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.

<?xml version="1.0"?>
<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Routing" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>
</configuration>

Notez que pour MVC 3, vous devrez changer la version pour 3.0.0.0 à l'adresse suivante

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

Il se peut que vous deviez fermer et rouvrir la page *.cshtml pour voir les changements.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X