xvalおよびasp.net mvc 2 addmodelstateerrorsの問題
-
29-09-2019 - |
質問
かなり長い間XValを正常に使用しているアプリケーションがあります。最近MVC 2に更新されました。
ドメインモデルに標準のData Annotations属性を使用して、Data AnnotationsValidationRunnerを呼び出す「Validate()」メソッドも実装しています。エラーがある場合、その方法はルールセックスを投げます。
私のコントローラーでは、ルールセックスのために非常に典型的なキャッチを使用しています
catch (RulesException e)
{
e.AddModelStateErrors(ModelState, "err");
}
例からほぼまっすぐに、最近まで正常に動作するすべての典型的なもの(MVC1-> MVC2アップデートの時点で問題が始まったと思われます。
問題は次のとおりです。AddModelStateErrorsメソッドが呼び出されると、system.collections.generic.icollectionから来ている「system.entrypointnotfoundexception:エントリポイントが見つかりませんでした」を取得します。1.get_Count() at System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper(HtmlHelper htmlHelper, ModelMetadata modelMetadata, String expression, String validationMessage, IDictionary
2 htmlattributes)at System.web.mvc.html.validationextensions.validationMessage(htmlhelper htmlhelper、string modelname、string validationmessage、idictionary`2 htmlattributes)
XVALのメソッドのコードとHTMLHELPER拡張機能の両方を調べましたが、何が起こっているのかを理解できないようです。
何か案は?
解決
同じ問題がありますが、それを解決しました。MVC2に移動するために、以下をweb.configまたはapp.configに追加します。
<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>