Les Erreurs De Build - Système.Web.Mvc.Modèleclientvalidationrule ' Conflicts
j'essaie de "construire" mon application web MVC3 dans VS2010, mais j'obtiens toujours l'erreur suivante:
erreur 2 le type de système.Web.Mvc.ModelClientValidationRule " existe dans les deux "c:Program fichiers (x86)Microsoft ASP.NETASP.NET MVC 3AssembliesSystem.Web.Mvc.dll " et "c:Program fichiers (x86)Microsoft ASP.NETASP.NET Pages Webv2.0 AssembliesSystem.Web.page.dll" C:UsersbrownpDocumentsVisual Studio 2010ProjectsCabModelsAccountModels.cs 223 28 cabine 151910920"
en outre, chaque fois que j'ouvre la solution, il me pousse avec ce qui suit:
j'installe via Web Platform Installer et il installe avec succès cependant le message réapparaît chaque fois que j'ouvre la solution.
Quelqu'un peut-il nous guider?
Merci Paul
5 réponses
après avoir installé MVC4 beta aujourd'hui, quelques-uns de mes projets MVC 3 ne seraient pas compilés. (Modelclientvalidationrule conflict):
Edit:
ProjectName.csproj
Changement
<Reference Include="System.Web.WebPages"/>
à
<Reference Include="System.Web.WebPages, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>
OK essayez cette solution...
-
Dans la racine Web.fichier de configuration, ajouter une nouvelle entrée avec la touche webPages:Version et la valeur 1.0.0.0.
<appSettings> <add key="webpages:Version" value="1.0.0.0"/> <add key="webpages:Version" value="1.0.0.0"/> <add key="ClientValidationEnabled" value="true"/> <add key="UnobtrusiveJavaScriptEnabled" value="true"/> </appSettings>
2.In Solution Explorer, right-click the project name and then select Unload Project. Then right-click the name again and select Edit ProjectName.csproj.
3.Locate the following assembly references:
<Reference Include="System.Web.WebPages"/>
<Reference Include="System.Web.Helpers" />
remplacer par le texte suivant:
<Reference Include="System.Web.WebPages, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>
<Reference Include="System.Web.Helpers, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>
4.Enregistrez les modifications, fermez le projet (.csproj) de vos fichiers éditer, puis droit-cliquez sur le projet et sélectionnez Recharger.
référence: http://forums.asp.net/t/1723108.aspx/1
essayez aussi: http://www.asp.net/learn/whitepapers/mvc4-release-notes#_Toc303253815
Supprimer System.Web.WebPages
dans les références de la solution. C'est tout.
la meilleure façon d'éviter ce conflit est -
- Aller à l'explorateur de solutions
- référence
- clic droit sur
System.Web.WebPages
- Supprimer
Lancez maintenant votre application et profitez-en !
ce problème, qui est le même que celui que vous avez décrit dans VS2010, s'est produit dans mon cas dans VS2015 avec une nouvelle version de MVC (V5).
Voici comment j'ai pu le réparer:
-
mettez à jour les paquets NUGET vers la dernière version.
-
dans votre projet, supprimez les références pour Microsoft.AspNet.page. Puis, ajouter de nouveau la référence en utilisant le dernier paquet (utiliser "Parcourir..."):
C:\Program fichiers (x86)\Microsoft ASP.NET\ASP.NET Pages Web\v2.0 \ Packages\Microsoft.AspNet.page.2.0.30506.0\lib\net40
-
S'assurer que tous les projets font référence au même ensemble, sinon, les fixer comme décrit ci-dessus. Puis, reconstruire la solution. Dans mon cas, il a réparé l'erreur.
vérifiez le fichier Web.config
et fixez les paramètres tels as:
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="true" />
...
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>