我继承了这个项目,我通常不统一作为我的依赖解析器,所以如果这是一个愚蠢的问题,请原谅我。
当我尝试解决界面时,我收到了他的以下消息。
内部异常1:
InvalidOperationException:没有可用于类型 [ProjectName].ITest 的公共构造函数
内部异常 2:
InvalidRegistrationException:引发了“Unity.Exceptions.InvalidRegistrationException”类型的异常。
现在在有人跳到我身上说我没有构造函数之前,这个类看起来像这样......它有一个没有参数的构造函数。
namespace ProjectName
{
public class Test : ITest
{
public Test()
{
}
public int Foo() => 99;
}
public interface ITest
{
int Foo();
}
}
所以有一个没有参数的构造函数这是试图解析该类的类。
[Route("api/Test")]
public class TestController : ApiController
{
[Dependency]
public ITest Test { get; set; }
public TestController()
{
}
[HttpPost]
public IHttpActionResult Post()
{
var i = Test.Foo();
return Ok();
}
}