我在尝试浏览 Cassini 3.5.0.2 上的中等信任 ASP.NET MVC 应用程序(使用 Linq-to-SQL)时收到以下异常:
Could not load file or assembly 'Cassini, Version=3.5.0.2, Culture=neutral, PublicKeyToken=da0fefd60d522a7d'
or one of its dependencies. Failed to grant permission to execute. (Exception from HRESULT: 0x80131418)
有一个内部例外:
Execution permission cannot be acquired.
Stack trace:
at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset,
PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission)
at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset,
PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission)
相同的应用程序适用于 IIS7 和内部 VS2008 Web 服务器。Cassini 与不使用 Linq-to-SQL 的 ASP.NET MVC 应用程序一起工作没有任何问题。
ASP.NET MVC 应用程序和 Linq-to-SQL 存储库项目都已[assembly: System.Security.AllowPartiallyTrustedCallers]
应用,以便在中等信任下工作。
有人知道这个问题吗?
编辑
异常从以下行引发Server.cs
:
return appManager.CreateObject(appId, hostType, virtualPath, physicalPath, false);