J'essaie de "construire" mon application Web MVC3 dans VS2010, mais continue de recevoir l'erreur suivante:
Erreur 2 Le type 'System.Web.Mvc.ModelClientValidationRule' existe dans 'c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll' et 'c :\Program Files (x86)\Pages Web Microsoft ASP.NET\ASP.NET\v2.0\Assemblies\System.Web.WebPages.dll 'C:\Utilisateurs\brownp\Documents\Visual Studio 2010\Projects\Cab\Cabine\Modèles\AccountModels.cs 223 28 Cabine
De plus, à chaque fois que j'ouvre la solution, les informations suivantes s'affichent:
J'installe via Web Platform Installer et il s'installe avec succès, mais le message réapparaît chaque fois que j'ouvre la solution.
Quelqu'un peut-il offrir des conseils?
Merci paul
Après avoir installé MVC4 beta aujourd'hui, quelques-uns de mes projets MVC 3 ne seraient pas compilés. (Conflit ModelClientValidationRule) Le correctif était:
Modifier:
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 le fichier Web.config racine, ajoutez une nouvelle entrée avec la clé 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" />
Remplacez-les par les suivants:
<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 fichier de projet (.csproj) que vous étiez en train de modifier, puis cliquez avec le bouton droit de la souris sur le projet et sélectionnez Recharger.
REFERENCE: http://forums.asp.net/t/1723108.aspx/1
essayez aussi: http://www.asp.net/learn/whitepapers/mvc4-release-notes#_Toc303253815
Supprimer System.Web.WebPages
des références de solution. C'est tout.
Le meilleur moyen d'éviter ce conflit est-
System.Web.WebPages
Maintenant, lancez votre application et profitez-en!
Ce problème, identique à celui décrit dans VS2010, s'est produit dans mon cas, dans VS2015, avec une version plus récente de MVC (V5).
Voici comment j'ai pu résoudre ce problème:
Mettez à jour les packages NUGET vers la dernière version.
Dans votre projet, supprimez les références pour Microsoft.AspNet.WebPages. Ensuite, rajoutez une référence en utilisant le dernier paquet (utilisez "Parcourir ..."):
C:\Program Files (x86)\Pages Web ASP.NET\ASP.NET Web\v2.0\Packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40
Assurez-vous que tous les projets font référence au même assemblage. Sinon, corrigez-les comme décrit ci-dessus. Ensuite, reconstruisez la solution. Dans mon cas, l'erreur a été corrigée.
Vérifiez le fichier Web.config
et corrigez les paramètres tels que:
<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>