- I created a new project of type Asp.net MVC 4
- I installed the package via Ninject.MVC3 NuGet
Install Package Ninject.MVC3 - When running the project, security error:
Error
Server Error in ‘/MediumTrustSample’ Application.
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=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089’ failed.Source Error:
Line 20:
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestModule)); Line
21:
DynamicModuleUtility.RegisterModule(typeof(HttpApplicationInitializationModule));
Line 22: bootstrapper.Initialize(CreateKernel); Line 23:
} Line 24:Source File: C:\Users\Riderman_2\Documents\Visual Studio
2010\Projects\MediumTrustSample\MediumTrustSample\App_Start\NinjectMVC3.cs
Line: 22Stack Trace:
[SecurityException: Request for the permission of type
‘System.Security.Permissions.ReflectionPermission, mscorlib,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’
failed.]
System.Security.CodeAccessSecurityEngine.SpecialDemand(PermissionType
whatPermission, StackCrawlMark& stackMark) +0
System.Security.CodeAccessPermission.Demand(PermissionType
permissionType) +30
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object[] parameters, CultureInfo culture,
Boolean skipVisibilityChecks) +281
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
+38 Ninject.Infrastructure.Language.ExtensionsForMemberInfo.GetParentDefinition(MethodInfo
method, BindingFlags flags) in ExtensionsForMemberInfo.cs:145
Ninject.Infrastructure.Language.ExtensionsForMemberInfo.IsDefined(PropertyInfo
element, Type attributeType, Boolean inherit) in
ExtensionsForMemberInfo.cs:173
Ninject.Selection.Heuristics.StandardInjectionHeuristic.ShouldInject(MemberInfo
member) in StandardInjectionHeuristic.cs:47
Ninject.Selection.<>c_DisplayClass3.b_2(IInjectionHeuristic h) in Selector.cs:92 System.Linq.Enumerable.Any(IEnumerable12 predicate) +149
source, Func
Ninject.Selection.Selector.b_1(PropertyInfo
p) in Selector.cs:92
System.Linq.WhereEnumerableIterator1.MoveNext() +1561.InsertRange(Int32 index,
System.Collections.Generic.List
IEnumerable1 collection) +5521
Ninject.Selection.Selector.SelectPropertiesForInjection(Type type) in
Selector.cs:89
Ninject.Planning.Strategies.PropertyReflectionStrategy.Execute(IPlan
plan) in PropertyReflectionStrategy.cs:60
Ninject.Planning.<>c__DisplayClass3.<GetPlan>b__1(IPlanningStrategy s)
in Planner.cs:68
Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map(IEnumerable
series, Action1 action) in ExtensionsForIEnumerableOfT.cs:232.MoveNext() +238
Ninject.Planning.Planner.GetPlan(Type type) in Planner.cs:70
Ninject.Activation.Context.Resolve() in Context.cs:180
Ninject.KernelBase.<Resolve>b__7(IContext context) in
KernelBase.cs:375
System.Linq.WhereSelectEnumerableIterator
System.Linq.Enumerable.SingleOrDefault(IEnumerable1 source) +2991.GetValue(Type service, IContext
Ninject.Planning.Targets.Target
parent) in Target.cs:179
Ninject.Planning.Targets.Target1.ResolveWithin(IContext parent) in2.MoveNext() +110
Target.cs:147
Ninject.Activation.Providers.StandardProvider.GetValue(IContext
context, ITarget target) in StandardProvider.cs:97
System.Linq.WhereSelectArrayIterator
System.Linq.Buffer1..ctor(IEnumerable1 source) +488
System.Linq.Enumerable.ToArray(IEnumerable1 source) +1042.MoveNext() +238
Ninject.Activation.Providers.StandardProvider.Create(IContext context)
in StandardProvider.cs:81 Ninject.Activation.Context.Resolve() in
Context.cs:157 Ninject.KernelBase.<Resolve>b__7(IContext context)
in KernelBase.cs:375
System.Linq.WhereSelectEnumerableIterator
System.Linq.d_b11.MoveNext() +2961 source) +282
System.Linq.Enumerable.Single(IEnumerable
Ninject.ResolutionExtensions.Get(IResolutionRoot root, IParameter[]
parameters) in ResolutionExtensions.cs:37
Ninject.Web.Mvc.Bootstrapper.Initialize(Func`1 createKernelCallback)
in Bootstrapper.cs:72
MediumTrustSample.App_Start.NinjectMVC3.Start() in
C:\Users\Riderman_2\Documents\Visual Studio
2010\Projects\MediumTrustSample\MediumTrustSample\App_Start\NinjectMVC3.cs:22Version Information: Microsoft .NET Framework Version:4.0.30319;
ASP.NET Version:4.0.30319.272
Question
How to use Ninject.MVC3 with MediumTrust?
Go and get the medium trust version: https://github.com/ninject/ninject/downloads