Вопрос

У меня есть приложение, которое я успешно использую XVal в течение довольно некоторого времени. Это было недавно обновлено до MVC 2.

Я использую атрибуты стандартных данныхAnnottations на моделях моделей домена, которые также реализуют метод «Validate ()», который вызывает данные DataNoTationsValidationRunner. Если есть какие-либо ошибки, этот метод бросает rulesexception.

В моем контроллерах я использую очень типичный улов для Rulesexception

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

Все типичные вещи, почти прямые из примеров, и работают нормально до недавнего времени (я подозреваю, что проблемы начаты во время моего MVC1 -> обновления MVC2.

Таким образом, проблема в том, что в том, когда добавляется метод AddModelstateErrors, я получаю «System.entryPointNotfoundException: точка входа не была найдена», которая исходит из System.Collections.generic.Chollection.1.get_Count() at System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String expression, String validationMessage, IDictionary2 htmlattributes) в System.Web.mvc.html.validationextionsions.validationmessage (HTMLHELPER HTMLHELPER, String ModelName, String ValidationMessage, Idmationary`2 htmlattributes) в ASP.Views_user_Edit_aspx .__ renderContent2 ...

Я посмотрел как на код для метода XVAL, так и расширения HTMLHELPER, и я не могу понять, что происходит.

Любые идеи?

Это было полезно?

Решение

Имеет ту же проблему, но просто решил его: добавьте следующее в web.config или app.config, для перемещения в 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>

или 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top