À l'aide de C #, Visual Studio 2010.
Il existe un espace de noms appelé System.Web.Mvc documenté sur MSDN. La documentation de tous les types de cet espace de noms indique qu'ils sont dans System.Web.Mvc.dll
.
Cependant, lorsque je vais dans Ajouter une référence, onglet «.NET», cet assemblage est absent de la liste. Pourquoi?
Réponses:
Dans VS Express 2012, je n'ai pas trouvé System.Web.Mvc dans l'onglet "assemblys", mais après quelques recherches, j'ai découvert que je devais regarder dans l' onglet " assemblies \ extensions " plutôt que dans l'onglet "assemblies \ framework par défaut" "onglet.
la source
Could not load file or assembly...The located assembly's manifest definition does not match the assembly reference
). J'ai un autre projet dans ma solution référençant une version différente, et cette méthode m'a seulement permis d'ajouter une référence à System.Web.Mvc, Version = 4.0.0.0. La méthode d'installation NuGet a ajouté la version correcteLe meilleur moyen est d'utiliser le gestionnaire de packages NuGet.
Mettez simplement à jour le package MVC ci-dessous et cela devrait fonctionner.
la source
J'ai eu le même problème et je n'ai pas pu localiser l'assemblage de référence System.Web.MVC.
Enfin découvert et il était situé à l'emplacement suivant.
Notez si votre VS a été installé dans C: (Parfois, MVC.dll n'est pas dans l'emplacement par défaut dont tout le monde parle, je veux dire le dossier « Assemblys de référence » situé dans le lecteur C:).
si ce n'est pas là, il devrait certainement être ici:
\ Program Files (x86) \ Microsoft ASP.NET \ ASP.NET MVC 2 \ Assemblies \ System.Web.Mvc.dll
Ajoutez donc la dll via la navigation ou l'onglet Parcourir dans le menu Ajouter une référence.
la source
Vous pouvez également l'ajouter à partir de la console Nuget Package Manager, quelque chose comme:
Microsoft.AspNet.Mvc a des dépendances sur:
... ce qui ne me semble pas grave. Dans notre cas, il s'agit d'une bibliothèque de classes qui existe uniquement pour fournir un support pour nos applications Mvc. Donc, nous pensons que c'est une dépendance bénigne au pire.
Je préfère définitivement cela plutôt que de pointer vers un assemblage sur le système de fichiers ou dans le GAC, car la mise à jour du package à l'avenir sera probablement beaucoup moins pénible que les expériences que j'ai eues avec les références d'assemblage du GAC et du système de fichiers dans le passé.
la source
J'ai eu le même problème et voici la raison amusante: je suppose que vous vous attendez
System.Web.Mvc
à être situé sousSystem.Web
la liste. Mais la liste n'est pas alphabétique.Triez d'abord la liste, puis regardez près du fichier
System.Web
.la source
Ça devrait être là. Par défaut, la liste d'ajout de références semble être ordonnée, mais ce n'est pas le cas. Appuyez sur l'en-tête du nom et regardez à nouveau.
la source
Vérifiez ces étapes:
Remarque : si le framework cible est défini sur .Net Framework 4 Client Profile, il ne listera pas la référence MVC dans la liste de références. Vous pouvez trouver les différences entre .Net Framework 4 et .Net Framework 4 Client Profile ici .
la source
J'ai résolu ce problème en recherchant "mvc". Le System.Web.Mvc est apparu dans les résultats de recherche, bien qu'il ne soit pas contenu dans la liste.
la source
L'assemblage souhaité est maintenant apparu dans la liste.
Je ne peux que spéculer sur ce qui l'a fait apparaître, mais je soupçonne que c'est le fait que je suis allé Fichier → Nouveau → Projet → Application Web ASP.NET , ce que je n'avais jamais fait auparavant. Il est possible que cela ait provoqué une sorte d'initialisation tardive et que la liste soit remplie avec des assemblys supplémentaires pour le développement Web.
la source
Cela a changé pour Visual Studio 2012 (je sais que la question d'origine dit VS2010, mais le titre apparaîtra toujours dans les recherches).
Lorsque vous créez un projet VS2012 MVC, le system.web.mvc est placé dans le dossier packages qui est pair à la solution. Cela sera référencé dans le projet Web par défaut et vous pouvez y trouver le chemin exact).
Si vous souhaitez référencer ceci dans un projet secondaire (disons un .dll de support avec des filtres ou d'autres attributs), vous pouvez le référencer à partir de là.
la source
Je n'ai pas eu System.Web.Mvc dans VS 2012 mais je l'ai eu dans VS 2013. En utilisant la boîte de dialogue AddReference,
Ou, vous pouvez le trouver dans le chemin de votre projet,
Nom de votre projet \ packages \ Microsoft.AspNet.Mvc.5.0.0 \ lib \ net45 \ System.Web.Mvc.dll
la source
Je crois que vous trouverez que l'assemblage MVC est référencé dans le fichier web.config, pas dans le projet lui-même.
Quelque chose comme ça:
Pour répondre à votre commentaire;
La meilleure réponse que je puisse donner est d' ici :
la source
il peut être installé séparément, et il n'est pas inclus dans le cadre, choisissez la liste des onglets "extensions" et il existe il y en a et plus d'autres bibliothèques, tout est ok pas nécessaire pour utiliser les anciennes bibliothèques, etc., existe les anciennes 20 30 et 4001
la source
Si vous rencontrez ce problème dans Visual Studio 2017, il est probable que vous travaillez avec un projet MVC 4 créé dans une version précédente de VS avec un chemin d'indication de référence pointant vers
C:\Program Files (x86)\Microsoft ASP.NET
. Visual Studio 2017 n'installe plus ce répertoire.Nous résolvons généralement ce problème en installant une copie de Visual Studio 2015 à côté de notre instance 2017, et qui installe les bibliothèques nécessaires dans le chemin ci-dessus. Ensuite, nous mettons à jour toutes les références dans les projets concernés et nous sommes prêts à partir.
la source