2

我正在尝试使用 Ninject 和 MVC 执行以下测试方法:

    [TestMethod]
    public void CreateEntityTest()
    {
        using (IKernel kernel = new StandardKernel())
        {
            kernel.Bind<IAccountControllerHelper>().To<AccountControllerHelper>();

            var a = kernel.Get<IAccountControllerHelper>();
            var p = a.GetPerson("jude-test-user-20130120");
            Assert.AreEqual(3, p.FriendlyId);
        }
    }

它会产生以下错误:

测试方法 YellowLlama.Web.Tests.AccountControllerHelperTests.CreateEntityTest 抛出异常:System.TypeLoadException:类型违反继承安全规则:'Ninject.Web.Mvc.Filter.FilterContextParameter'。派生类型必须要么与基类型的安全可访问性相匹配,要么难以访问。在 System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly 程序集,ObjectHandleOnStack retTypes) 在 System.Reflection.RuntimeAssembly.GetExportedTypes() 在 Ninject.Infrastructure.Language.ExtensionsForAssembly.HasNinjectModules(Assembly 程序集) 在 c:\Projects\Ninject\ninject\src \Ninject\Infrastructure\Language\ExtensionsForAssembly.cs:C:\Projects\Ninject\ninject\src\Ninject\Modules\CompiledModuleLoaderPlugin.cs 中 Ninject.Modules.CompiledModuleLoaderPlugin.b__0(Assembly asm) 的第 25 行:

我已经在网上搜索并尝试了一些我发现无济于事的建议。

4

0 回答 0