2

ASP.Net Web アプリケーションを最新ビルドの Fluent NHibernate (1.0.0.636) および最新バージョンの NHibernate (v2.1.2.4000) にアップグレードしました。アプリケーションが完全な信頼で実行されていることを数回確認しました。しかし、次のエラーが発生し続けます。

Security Exception
Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[SecurityException: Request for the permission of type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
   System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
   System.Security.CodeAccessPermission.Demand() +54
   System.Reflection.Emit.DynamicMethod.PerformSecurityCheck(Type owner, StackCrawlMark& stackMark, Boolean skipVisibility) +269
   System.Reflection.Emit.DynamicMethod..ctor(String name, Type returnType, Type[] parameterTypes, Type owner, Boolean skipVisibility) +81
   NHibernate.Bytecode.Lightweight.ReflectionOptimizer.CreateDynamicMethod(Type returnType, Type[] argumentTypes) +165
   NHibernate.Bytecode.Lightweight.ReflectionOptimizer.GenerateGetPropertyValuesMethod(IGetter[] getters) +383
   NHibernate.Bytecode.Lightweight.ReflectionOptimizer..ctor(Type mappedType, IGetter[] getters, ISetter[] setters) +108
   NHibernate.Bytecode.Lightweight.BytecodeProviderImpl.GetReflectionOptimizer(Type mappedClass, IGetter[] getters, ISetter[] setters) +52
   NHibernate.Tuple.Component.PocoComponentTuplizer..ctor(Component component) +231
   NHibernate.Tuple.Component.ComponentEntityModeToTuplizerMapping..ctor(Component component) +420
   NHibernate.Tuple.Component.ComponentMetamodel..ctor(Component component) +402
   NHibernate.Mapping.Component.BuildType() +38
   NHibernate.Mapping.Component.get_Type() +32
   NHibernate.Mapping.SimpleValue.IsValid(IMapping mapping) +39
   NHibernate.Mapping.RootClass.Validate(IMapping mapping) +61
   NHibernate.Cfg.Configuration.ValidateEntities() +220
   NHibernate.Cfg.Configuration.Validate() +16
   NHibernate.Cfg.Configuration.BuildSessionFactory() +39
   FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory() in d:\Builds\FluentNH\src\FluentNHibernate\Cfg\FluentConfiguration.cs:93

誰にも同様のエラーがありましたか?Web / stackoverflow / NHibernate フォーラムを検索しましたが、完全な信頼ではなく、中程度の信頼モードで実行しているときに問題が発生した人しか見つかりませんでした。以前のバージョンの Fluent NHibernate と NHibernate を使用して、このマシンでこのアプリケーションを数か月間開発してきました。

これを実行しているマシンは 64 ビットですが、これが関連していることはわかりません。

4

1 に答える 1

8

When you first download a new DLL you can have this issue, it may not be your same issue (anything that makes it untrusted causes the same error) but, it's caused the exact error for me more than once. Here's how to get it running in full trust like the rest of your application again:

  • Right click the new nHibernate DLLs (might have to do this 1 at a time, not sure)
  • Properties
  • At the very bottom of the General tab, you may see a message: "This file came from another computer and may be blocked to help protect this computer".
  • Click Unblock beside that
于 2010-04-11T11:44:04.160 に答える