XVAL и ASP.NET MVC 2 AddModelstateErrors Проблема
-
29-09-2019 - |
Вопрос
У меня есть приложение, которое я успешно использую 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, IDictionary
2 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>