FluentValidation 3.4.6을 사용하고 있습니다. 내 프로젝트의 대상 프레임 워크는 .net 4입니다. FluentValidation의 이전 버전에 대한 참조가 없는지 확인하기 위해 솔루션을 철저히 검사했습니다. .FluentValidation 3.4.6 런타임 VerificationException을 불안정하게합니다.
: http://elegantcode.com/2012/08/23/net-4-5-operation-could-destabilize-the-runtime-yikes/대한 VerificationException이 시점에서 발생합니다 여기에 설명 된대로
그러나 나는 내가 여전히 대한 VerificationException 받고 있어요, FluentValidation이 버전은 해결 방법 .NET 4.5에 도입 된 반사 버그를 가지고 있다고 생각합니다
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
우리는 또한이 "Destabilize the runtime VerificationException"을 가지며 사실 FluentValidation 3.4.6에는 수정본이 포함되어 있으므로 이론적으로 작동해야합니다. 당신은 정말로 정확한 dll을 참조하는지 다시 한번 확인해야합니다 ... – nemesv
내가 해낸 것을 package.config, * .csproj라고하고, 최상위 솔루션 폴더에서 FluentValidation.dll을 모두 삭제했습니다. 여전히 운이 없음 – KierenH