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, IDictionary2 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?

¿Fue útil?

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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top