Après la mise à jour de Windows “le type ou Le nom d'espace de noms 'Html' n'existe pas dans l'espace de noms du Système".Web.Mvc'”

J'ai fait une mise à jour de Windows et ensuite mon asp.net mvc 5 application ne sera plus la charge de se plaindre

CS0234: The type or namespace name 'Html' does not exist in the namespace 'System.Web.Mvc'

indiquant que mon point de vue web.la config est la faute de

  <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.Optimization"/>
        <add namespace="System.Web.Routing" />
        <add namespace="Ogre.Extensions" />
        <add namespace="Newtonsoft.Json"/>
      </namespaces>
    </pages>
  </system.web.webPages.razor>

Maintenant, c'est très déroutant. Dans mon projet, je peux voir la Html espace de noms, de l'ouverture de mon assemblée en ILSpy je peux naviguer à la limite System.Web.Mvc et j'ai peut-il ainsi, et la fusion du journal de montrer n'est pas suspect de liaison des erreurs.

C'est comme si juste mon point de vue arriver lié (avec succès) à une ancienne version de la Mvc. Pourquoi serait-ce jamais arrivé? Comment puis-je résoudre ce problème?

Laissez-moi être clair qu'il n'y a eu aucune configuration ou même des changements de code. C'est sur ma machine de dev sur IISExpress. Il a été en cours d'exécution, j'ai fait la mise à jour et redémarré et maintenant il n'est plus en cours d'exécution.

Voici mes dernières installations à partir de la mise à jour. J'ai pu commencer à les enlever un par un, mais je veux savoir ce qui se passe réellement mal car il se sent comme je suis partie manquante de l'histoire.

Après la mise à jour de Windows “le type ou Le nom d'espace de noms 'Html' n'existe pas dans l'espace de noms du Système

  • Sont vos références de projet OK?
  • oui, le projet s'appuie très bien et il n'y a pas cassé les références
  • Votre pool d'application dans IIS n'est pas à utiliser .Net Framework 2, par hasard?
  • c'est dans IISExpress toutes exécuté localement. Comme je l'ai dit, il y a eu aucune modification de la configuration entre courir et de ne pas en cours d'exécution.
  • Je vais avoir le même problème avec IISExpress, impatients pour la réponse
  • N'mise à jour de votre <host> factoryType à 5.1.0.0 changer quelque chose?
  • non, et techniquement, nous sommes toujours à l'aide de 5.0.0 donc, je serais surpris si il l'a fait. C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.Mvc\v4.0_5.0.0.0__31bf3856ad364e35\System.Web.Mvc.dll certainement existe (comme le 5.0.1 version)
  • C'est DONC lié stackoverflow.com/questions/26396489/...
  • Il paraît qu'on peut avoir une épidémie? stackoverflow.com/questions/26407533/...
  • peut-être liées, mais la réponse sommet sur il refait System.Web.Mvc à 4.0.0.1 dans le GAC, plutôt que de 5.0.0 dans mes packages nuget. Je ne veux pas que!
  • Oui, moi non plus 🙂 en Espérant trouver une solution au plus vite, merci pour la mise à jour de w/o guide de MS! :/
  • Nous avons remarqué que notre Système.Web.Projet Mvc de référence a maintenant Copie Locale définie à False au lieu de True. Réglage de la Copie Locale de retour à Vrai résout le problème, mais n'explique pas pourquoi il a été changé après le patch. Nous disposons de plusieurs machines avec la mise à jour de sécurité et plusieurs sans. Dans tous les cas, ceux avec la mise à jour de l'ouverture de la solution (dans plusieurs branches de contrôle de code source) et de la Copie Locale est Faux. Pour ceux avec des non corrigés des machines de Copie Locale est définie à Vrai, comme il est dans le contrôle de source.
  • Pour moi, Visual Studio, a déclaré la Copie Locale était true, mais il n'a pas fait de copier le fichier dans le dossier bin. J'ai dû modifier manuellement <Private>True</Private> dans mon fichier de projet.
  • Heureux, il n'est pas juste moi. L'obtention de la construction de projets a été assez facile, réparer le site était irritant jusqu'à ce que j'ai remarqué que la Copie Locale est définie sur false. Particulièrement grand que tout a bien fonctionné sur le serveur de test, qui doit avoir mis à jour le GAC lui-même, je suppose, donc seulement vivre une effraction. Cheers MME Bien que dans l'ensemble, je préfère avoir des correctifs de sécurité, je suppose.
  • Essayez d'installer/réparer les dernières versions de packages MSI de ASP.NET MVC de ici
  • Connexes: System.Web.MVC pas copié à bin dossier depuis MS14-059

InformationsquelleAutor George Mauer | 2014-10-16