XVal y ASP.Net MVC 2 AddModelStateErrors Problema
-
29-09-2019 - |
Pregunta
Tengo una aplicación que he estado utilizando con éxito en XVal desde hace bastante tiempo. Fue actualizado recientemente para MVC 2.
Yo uso los atributos estándar DataAnnotations en mis modelos de dominio, que también implementan un método "Validar ()" que llama a la DataAnnotationsValidationRunner. Si hay algún error, este método lanza una RulesException.
En mis controladores, utilizo la captura muy típico de RulesException
catch (RulesException e)
{
e.AddModelStateErrors(ModelState, "err");
}
Todo lo típico, casi directamente de los ejemplos, y que trabaja muy bien hasta hace poco (sospecho que los problemas comenzaron en el momento de mi MVC1 -.> Actualización MVC2
Así que el problema es el siguiente: Cuando el método AddModelStateErrors se llama, me estoy poniendo un "System.EntryPointNotFoundException: No se encontró el punto de entrada", que viene de System.Collections.Generic.ICollection1.get_Count() at System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String expression, String validationMessage, IDictionary
2 htmlAttributes) en System.Web .Mvc.Html.ValidationExtensions.ValidationMessage (HtmlHelper HtmlHelper, cadena modelName, cadena validationMessage, IDictionary`2 htmlAttributes) en ASP.views_user_edit_aspx .__ RenderContent2 ... {cortó, ya que es norma desde allí}
He mirado en tanto el código para el método de XVal y la extensión HtmlHelper, y me parece que no puede averiguar lo que está pasando.
¿Alguna idea?
Solución
tiene el mismo problema, pero sólo lo resolvió: añadir lo siguiente a web.config o app.config, para mover a 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>
o para 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>