我使用的是FluentValidation 3.4.6,我的项目的目标框架是.net 4。我已经彻底检查了我的解决方案,以确保没有引用旧版本的FluentValidation。
我相信这个版本的FluentValidation已经解决了.NET 4.5中引入的反射错误,但是我仍然得到了一个VerificationException,就像这里http://elegantcode.com/2012/08/23/net-4-5-operation-could-destabilize-the-runtime-yikes/所描述的那样
此时抛出VerificationException:
MyValidator : AbstractValidator<MyObj>
ctor {
RuleFor(x => x.SomeProperty).Equal(true);
}
at FluentValidation.Resources.LocalizedStringSource.CreateFromExpression(Expression`1 expression, IResourceAccessorBuilder resourceProviderSelectionStrategy) in c:\projects\FluentValidation\src\FluentValidation\Resources\LocalizedStringSource.cs:line 66
at FluentValidation.Validators.PropertyValidator..ctor(Expression`1 errorMessageResourceSelector) in c:\projects\FluentValidation\src\FluentValidation\Validators\PropertyValidator.cs:line 46
at FluentValidation.Validators.EqualValidator..ctor(Object valueToCompare, IEqualityComparer comparer) in c:\projects\FluentValidation\src\FluentValidation\Validators\EqualValidator.cs:line 37
at FluentValidation.DefaultValidatorExtensions.Equal[T,TProperty](IRuleBuilder`2 ruleBuilder, TProperty toCompare, IEqualityComparer comparer) in c:\projects\FluentValidation\src\FluentValidation\DefaultValidatorExtensions.cs:line 143
at MyValidator..ctor() in MyValidator.cs:line 22发布于 2013-02-14 02:26:06
我将Intellitrace设置为"IntelliTrace events only“,这阻止了我在VS2010中遇到这个问题。
发布于 2012-10-14 20:43:27
我能够在调试器之外运行,并最终将其范围缩小到intell-trace。如果在3.4.6中遇到此问题,请禁用智能跟踪。
发布于 2013-07-04 04:45:26
我似乎还通过将FluentValidation*添加到智能竞赛设置中排除的模块列表(同时保留事件和呼叫信息)来绕过这个问题。这使用的是3.4.6版的FV.NET。
https://stackoverflow.com/questions/12859764
复制相似问题