在中等信任级别上运行Ninject 3

时间:2012-08-16 14:25:18

标签: asp.net-mvc-3 nhibernate medium-trust

我有一个使用Ninject 3的ASP.NET MVC3应用程序.Ninject 3是使用NuGet安装的,现在我正在尝试在使用中等信任级别的主机上发布此应用程序。

所以在我搜索谷歌之后,我发现在Ninject GoogleCode项目网站上构建了一个适用于中等信任环境的特定版本,所以我下载并更改了我的项目中的引用,在我发布之后我仍然得到了相同的错误。

我已经改变了创建内核的方式,我正在使用:

var kernel = new StandardKernel(new NinjectSettings { UseReflectionBasedInjection = true });

我仍然得到错误。

所以任何人都已经面对这个问题并解决了它?

1 个答案:

答案 0 :(得分:2)

试试这个:

打开此文件:MyProjectName \ Properties \ AssemblyInfo.cs 然后添加此行

[assembly:AllowPartiallyTrustedCallers]

在Global.asax中:

     INinjectSettings settings = new NinjectSettings
        {
            UseReflectionBasedInjection = true,    // disable code generation for partial trust
            InjectNonPublic = false,               // disable private reflection for partial trust
            InjectParentPrivateProperties = false, // reduce magic
            LoadExtensions = false                 // reduce magic
        };

        IKernel kernel = new StandardKernel(settings);