NHibernate.dllを使用するプロジェクトがあります。プロジェクトを.NetFramework4.0を使用するように移動しました。FxCopを使用すると、FxCopが失敗し始め、エラーが発生しました
アセンブリNhibernate.dllを解決できなかったので、NHibernate.dllを.NetFramework4.0に移動してうまくいくかどうかを推測しました。
試してみましたが、使用しているISetがSystem。**またはIes.Collections.Genericであるというエラーが100件発生しました。Nhibernateに参照があるため、Ies.Collection.Genericを使用しました。
.Net 4に正常に移行できましたが、Webアプリケーションにアクセスすると、以下のメッセージが表示されました。
Inheritance security rules violated while overriding member: 'NHibernate.Cfg.Configuration.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)'. Security accessibility of the overriding method must match the security accessibility of the method being overriden.
私は何も上書きしていませんが。インターネットで検索していくつかの記事を見つけましたが、NHibernateコードを変更したくありません。それは私のコードではないからです。
最新のNHibernateを使用しないのはなぜですか? これを使用したときにプロジェクトが壊れ、エラーが発生したため、3つのパラメーター(私のプロジェクトが使用する)を使用するオーバーロードメソッドがありませんでした。
FilterDefinition(string name, string defaultCondition, IDictionary<string, IType> parameterTypes, bool useManyToOne);
現在、4番目のパラメーターがありますが、結果がどうなるかはわかりません。
質問:
誰かがこのエラーで私を助けてくれますか?
誰かがNHibernateを.Net4に正常に移行しましたか?
ありがとう
参照:
http://forums.lhotka.net/forums/t/9914.aspx
メンバーのオーバーライド中に継承セキュリティルールに違反しました-SecurityRuleSet.Level2http ://community.codesmithtools.com/Template_Frameworks/f/67/p/12331/47618.aspx#47618