web-dev-qa-db-fra.com

'Ajax' n'existe pas dans l'espace de noms 'System.Web.Mvc'

Je suis nouveau sur ASP.NET MVC 5 et je voulais construire un petit projet pour comprendre certaines choses . Lorsque j'ai ouvert le projet dans le navigateur, j'ai reçu une erreur en disant:

Compiler Error Message: CS0234: The type or namespace name 'Ajax' does not exist in the namespace 'System.Web.Mvc' (are you missing an Assembly reference?)

Source Error:
Line 22:     using System.Web.WebPages; 
Line 23:     using System.Web.Mvc;      
Line 24:     using System.Web.Mvc.Ajax;  
Line 25:     using System.Web.Mvc.Html;  
Line 26:     using System.Web.Routing;

Après quelques recherches sur Google j'ai découvert que vous deviez remplacer "Copier Local" par "true", mais j'ai vu que cela était déjà défini sur "true" dans mon projet. Même après un nettoyage et une reconstruction, cette erreur persiste. 

Alors, est-ce que quelqu'un a une idée de ce qui pourrait causer cette erreur?

35
Mike van L

Je pense que vous faites référence à une ancienne version de System.Web. Cliquez avec le bouton droit de la souris sur le projet dans vs et sélectionnez 'Manage NuGet Packages', puis recherchez Asp.Net MVC et cliquez sur installer. Cela installera le bon System.Web avec Ajax. Vous pouvez supprimer les six autres fichiers binaires téléchargés s'ils ne sont pas nécessaires.

87
Ross Bush

En utilisant MVC 5.2.3, je suis tombé sur le même problème. c'était à l'improviste (cette erreur est survenue nulle part sans apporter de modifications, car l'application compilait et fonctionnait sans problème auparavant)

Réparer:

  • Cliquez avec le bouton droit sur la Solution et sélectionnez "Gérer les packages NuGet pour Solution"
  • Désinstallez ASP.NET MVC en sélectionnant le bouton Uninstall
  • Désélectionnez le Projet qui utilise ASP.NET MVC - cliquez sur Ok.
  • Installez maintenant ASP.net MVC en le trouvant dans la fenêtre NuGet sous l’onglet Online et installez-le pour le projet pour lequel il a été désélectionné auparavant
  • Cela devrait résoudre le problème comme il l'a fait pour moi. Prendre plaisir!
16
StackticMain

Exécuter Install-Package Microsoft.AspNet.Mvc dans la console NuGet Package Manager s’est révélé être une bonne solution.

4
Michaja Broertjes

Définissez System.Web.MVC CopyLocal sur True Cela m'a aidé

1
Pavel Nazarov

Rouvrez Visual Studio en mode Administrateur.

0
Zin Min

Cliquez avec le bouton droit de la souris sur la solution et sélectionnez "Gérer les packages NuGet pour la solution" Désinstallez ASP.NET MVC en sélectionnant le bouton Désinstaller Désélectionnez le projet utilisant ASP.NET MVC - cliquez sur OK. Maintenant installer ASP.net MVC en le trouvant dans la fenêtre NuGet sous l'onglet En ligne et en l'installant pour le projet pour lequel il avait été désélectionné précédemment .__, ce qui devrait résoudre le problème comme il l'a été pour moi. Prendre plaisir!

0
Sameer Ahmad

J'ai mis à jour le MVC à partir de la console NuGet Package Manager et résolu mon problème 

0
ali shalash

 Navigate to References and right click on the system.web.mvc

Affichez les propriétés et définissez Copy Local sur True au lieu de False.

 enter image description here

Cela a fait l'affaire pour moi en plus d'exécuter la commande update package dans la console Package Manager. 

0
Usman Younas