Question

J'ai une application que je l'ai utilisé avec succès sur xVal depuis un certain temps. Il a été récemment mis à jour MVC 2.

J'utilise les attributs standard DataAnnotations sur mes modèles de domaine, qui mettent en œuvre aussi un « Valider () » méthode qui appelle la DataAnnotationsValidationRunner. S'il y a des erreurs, cette méthode jette un RulesException.

Dans mes contrôleurs, j'utilise les prises très typique pour RulesException

catch (RulesException e)
{
    e.AddModelStateErrors(ModelState, "err");
}

Toutes les choses typiques, presque directement à partir des exemples, et bien travailler jusqu'à récemment (je soupçonne que les problèmes ont commencé au moment de mon MVC1 -.> Mise à jour MVC2

Le problème est le suivant: Quand la méthode AddModelStateErrors est appelée, je reçois un « System.EntryPointNotFoundException: Point d'entrée n'a pas été trouvé », qui vient de System.Collections.Generic.ICollection1.get_Count() at System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String expression, String validationMessage, IDictionary2 htmlAttributes) à System.Web .Mvc.Html.ValidationExtensions.ValidationMessage (HtmlHelper HtmlHelper, String modelName, String ValidationMessage, IDictionary`2 htmlAttributes) à ASP.views_user_edit_aspx .__ RenderContent2 ... {ciselée, comme il est la norme à partir de là}

Je l'ai regardé à la fois le code pour la méthode de xVal et l'extension HtmlHelper, et je ne peux pas sembler comprendre ce qui se passe.

Toutes les idées?

Était-ce utile?

La solution

a le même problème, mais juste a résolu le problème: ajouter ce qui suit à web.config ou app.config, pour passer à MVC2:

<runtime>
    <assemblyBinding
xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

ou MVC3:

<runtime>
    <assemblyBinding
xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top