我有一个使用Ninject 3的ASP.NET MVC3应用程序.Ninject 3是使用NuGet安装的,现在我正在尝试在使用中等信任级别的主机上发布此应用程序。
所以在我搜索谷歌之后,我发现在Ninject GoogleCode项目网站上构建了一个适用于中等信任环境的特定版本,所以我下载并更改了我的项目中的引用,在我发布之后我仍然得到了相同的错误。
我已经改变了创建内核的方式,我正在使用:
var kernel = new StandardKernel(new NinjectSettings { UseReflectionBasedInjection = true });
我仍然得到错误。
所以任何人都已经面对这个问题并解决了它?
答案 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);