Я получаю следующее исключение, пытаясь просмотреть приложение ASP.NET MVC со средним доверием (используя Linq-to-SQL) на Cassini 3.5.0.2:
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. Cassini работает без проблем с приложением ASP.NET MVC, которое не использует Linq-to-SQL.
Как для приложения ASP.NET MVC, так и для проекта репозитория Linq-to-SQL применяется [assembly: System.Security.AllowPartiallyTrustedCallers]
для работы со средним доверием.
Кто-нибудь знает об этой проблеме?
EDIT
В этой строке выдается исключение из Server.cs
:
return appManager.CreateObject(appId, hostType, virtualPath, physicalPath, false);