2

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
4

3 に答える 3

2

Intellitrace を「IntelliTrace イベントのみ」に設定すると、VS2010 でこの問題が発生しなくなりました。

于 2013-02-13T18:26:06.220 に答える
1

デバッガーの外で実行することができ、最終的に intell-trace に絞り込みました。3.4.6 でこの問題が発生した場合は、intelli-trace を無効にしてください。

于 2012-10-14T12:43:27.080 に答える
0

また、intellitrace 設定で除外されたモジュールのリストに追加FluentValidation*することで、これを回避したようです (イベントと呼び出し情報の両方を保持しながら)。これは、FV.NET のバージョン 3.4.6 を使用していました。

于 2013-07-03T20:45:26.257 に答える