C# InvalidOperationException:无法解析类型为';ITasksLogicClass';试图激活';TaskAPI';
我在.NETCore中创建API时遇到了这个错误,这是由于依赖项注入中的错误造成的。C# InvalidOperationException:无法解析类型为';ITasksLogicClass';试图激活';TaskAPI';,c#,.net,.net-core,dependency-injection,C#,.net,.net Core,Dependency Injection,我在.NETCore中创建API时遇到了这个错误,这是由于依赖项注入中的错误造成的。 错误:InvalidOperationException:在尝试激活“todoapi.Controllers.TaskAPI”时,无法解析类型“todoapi.Logics.ITasksLogicClass”的服务。 代码: 控制器>TaskAPI.cs 逻辑>任务逻辑.cs Logics>TaskLogicInterface.cs 哪里出了问题?请显示您的DI配置。显示您为ITasksLogicClass所
错误:
InvalidOperationException:在尝试激活“todoapi.Controllers.TaskAPI”时,无法解析类型“todoapi.Logics.ITasksLogicClass”的服务。
代码:
控制器>TaskAPI.cs 逻辑>任务逻辑.cs Logics>TaskLogicInterface.cs
哪里出了问题?请显示您的DI配置。显示您为
ITasksLogicClass
所做的注册。您好,Anwesh,您肯定应该显示服务。添加XXX
呼叫您的问题,因为这允许我们检查您在该注册中的错误,因为问题就在那里。如果你没有这样的代码,那将是你的麻烦的原因。您应该将services.AddTransient()
添加到DI配置中。我应该在哪里添加services.AddTransient()
?您可能需要先开始阅读。
namespace todoapi.Controllers
{
[ApiController]
[Route("task/v1")]
public class TaskAPI:Controller
{
private readonly ITasksLogicClass _x;
public TaskAPI(ITasksLogicClass x)
{
this._x= x;
}
[HttpGet]
public String Get()
{
return _x.Testfunc();
}
}
}
namespace todoapi.Logics
{
public class TaskLogic:ITasksLogicClass
{
public string Testfunc()
{
return ("API Works Now");
}
}
}
namespace todoapi.Logics
{
public interface ITasksLogicClass
{
string Testfunc();
}
}