私は(Nugetパッケージから) Ninject 2.2とFluent NHibernate 1.3(フードの下のNHibernate v3.2)を使用していますが、レンガの壁にぶつかりました。
データベースやマッピングなどを指すために Fluent config を使用しています。
var fluentConfig = Fluently.Configure()
(MsSqlConfiguration.MsSql2008.DoNot.UseReflectionOptimizer()
.ConnectionString(c => c.FromConnectionStringWithKey("ExampleDB")))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<ExampleMap>()
.Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultLazy.Never()))
.ExposeConfiguration(x => x
.SetProperty("current_session_context_class", "web"))
.ExposeConfiguration(BuildSchema);
< trust level="Medium" />を設定してホスティングプロバイダーをミラーリングし、barf を開始するまで、コードはローカルボックスで美しく機能します。
問題の行は、このコード ブロックの 2 番目の行です。
Bind<Configuration>().ToConstant(fluentConfig.BuildConfiguration());
Bind<ISessionFactory>().ToConstant(fluentConfig.BuildSessionFactory());
Bind<ISession>().ToMethod(x => GetRequestSession(x));
私が受け取った例外:「...タイプ 'System.Security.Permissions.ReflectionPermissionのアクセス許可のリクエスト....失敗しました」
誰か提案はありますか?これまでの私の調査では、古いバージョンの Ninject と NHibernate に基づく古い情報か、X を逆コンパイルして Y を解放することを含む解決策しか見つかりませんでした。