1

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

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

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

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

我仍然得到错误。

所以有人已经遇到过这个问题并解决了吗?

4

1 回答 1

2

尝试这个:

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

[程序集: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);
于 2012-12-09T19:45:41.577 回答