6

誰かがこれに遭遇しましたか?

NHibernate 3.1 にアップグレードした後、NUnit テスト ケースを実行すると、NHibernate Validator から次の例外を受け取ります。

System.NotSupportedException : 呼び出されたメンバーは動的アセンブリでサポートされていません。System.Reflection.Emit.InternalAssemblyBuilder.GetManifestResourceStream(文字列名) で NHibernate.Validator.Cfg.XmlMappingLoader.AddResource(アセンブリ アセンブリ、文字列リソース) で NHibernate.Validator.Cfg.XmlMappingLoader.GetXmlMappingFor(型の種類) で NHibernate.Validator. NHibernate.Validator.Engine.Engine.JITClassMappingFactory.GetClassMapping(タイプ clazz、ValidatorMode モード) の Engine.JITClassMappingFactory.GetExternalDefinitionFor(Type タイプ) Engine.ClassValidator..ctor(Type clazz, IConstraintValidatorFactory constraintValidatorFactory, IDictionary`2 childClassValidators,

スタック トレースからわかるように、セッションがフラッシュされ、NHibernate Validator が処理を行うときにエラーが発生します。

更新NH Validator コードをステップ実行しようとしましたが、ある時点で、基になるエンティティ自体ではなく、エンティティのキ​​ャッスル プロキシを検証しようとしているようです。これにより、トラブルが発生します。これについて何をすべきかわかりません...

更新CastleではなくLinFu ProxyFactoryFactoryを使用すると、問題は解決します。残念ながら、LinFu は他の問題を引き起こしているので、使用したくありません。

4

1 に答える 1

1

NHibernate 3.2 では、外部プロキシ ライブラリが不要になりました。

それらは引き続きサポートされますが、配布されなくなりました。デフォルトでは、内部実装が使用されます。

アップグレードは試しましたか?


NHibernateHelper更新: NHibernate Validator を NH 3.2 用にコンパイルするには、次のように変更する必要があります。

public static bool IsProxyFactoryConfigurated()
{
    var f = NHibernate.Cfg.Environment.BytecodeProvider.ProxyFactoryFactory;
    return f != null;
}

詳細はNHV-116を参照

于 2011-11-10T21:30:53.807 に答える