C# 无法构造接口。是否缺少类型映射

C# 无法构造接口。是否缺少类型映射,c#,asp.net-mvc,dependency-injection,unity-container,C#,Asp.net Mvc,Dependency Injection,Unity Container,我已经被困在这两天了,我需要一些帮助。我正在为DI使用Unity.Mvc5包。我有一个ITest接口,它在引导程序中注册。但是当我尝试访问类构造函数时,它抛出以下错误。同时,在QuickWatch中,如果我尝试使用container.resolve()解析接口,它会显示正确的值。你知道哪里不对吗 我没有做任何花哨的事。我以前做过,没有遇到任何问题。 请参阅下面的代码片段 public interface ITest { } public class Test : ITest { pub

我已经被困在这两天了,我需要一些帮助。我正在为DI使用Unity.Mvc5包。我有一个ITest接口,它在引导程序中注册。但是当我尝试访问类构造函数时,它抛出以下错误。同时,在QuickWatch中,如果我尝试使用container.resolve()解析接口,它会显示正确的值。你知道哪里不对吗

我没有做任何花哨的事。我以前做过,没有遇到任何问题。 请参阅下面的代码片段

public interface ITest
{
}

public class Test : ITest
{
    public Test()
    {
        string test = "";
    }
 }

// DI registration
var container = new UnityContainer();   
container.RegisterType<ITest, Test>();
DependencyResolver.SetResolver(new UnityDependencyResolver(container));

// Home controller
public HomeController(ITest test)
{             
    this.test = test;
}
公共接口测试
{
}
公共类考试:ITest
{
公开考试()
{
字符串测试=”;
}
}
//DI注册
var container=new UnityContainer();
container.RegisterType();
SetResolver(新UnitedDependencyResolver(容器));
//家庭控制器
公共家庭控制器(ITest测试)
{             
这个。测试=测试;
}
当前类型Web.ITest是一个接口,无法构造。是否缺少类型映射

描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:System.InvalidOperationException:当前类型Web.ITest是一个接口,无法构造。是否缺少类型映射

源错误:

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:

[InvalidOperationException:当前类型Web.ITest是 接口,无法构造。是否缺少类型映射?] Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.ThrowForetentingToConstructorInterface(IBuilderContext 上下文)+176 lambda_方法(闭包,IBuilderContext)+24
Microsoft.Practices.ObjectBuilder2.c__DisplayClass1.b__0(IBuilderContext 上下文)+39
Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.Building(IBuilderContext 上下文)+27
Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.Prebuild(IBuilderContext 上下文)+209
Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext 上下文)+183
Microsoft.Practices.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey 新建键)+106
Microsoft.Practices.Unity.ObjectBuilder.NamedTypeDependencyResolverPolicy.Resolve(IBuilderContext 上下文)+68 lambda_方法(闭包,IBuilderContext)+126
Microsoft.Practices.ObjectBuilder2.c__DisplayClass1.b__0(IBuilderContext 上下文)+39
Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.Building(IBuilderContext 上下文)+27
Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.Prebuild(IBuilderContext 上下文)+209
Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext 上下文)+183
Microsoft.Practices.Unity.UnityContainer.DoBuildUp(类型t,对象 现有,字符串名称,IEnumerable`1 resolverOverrides)+165

[ResolutionFailedException:依赖项解析失败,键入 =“HomeController”,name=“(无)”。解析时发生异常。异常为:InvalidOperationException-当前类型, 是一个接口,无法构造。是否缺少 类型映射


UnityConfig.RegisterComponents();在应用程序_start中被调用?是。正在进行注册调用。即使我在使用用户容器时也可以看到该对象。解析