我目前正在尝试创建一个Logger,以便可以将其注入(inject)到单元测试中。我正在关注https://stackoverflow.com/a/43425633/1057052,它曾经可以工作!然后,我移动了项目并重新建立了依赖关系,现在我得到了
我一定缺少一些愚蠢的东西。当前在ASP.NET Core 2.2下,我相信我已经分配了正确的依赖项。
https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection?view=aspnetcore-2.2
https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.loggingservicecollectionextensions.addlogging?view=aspnetcore-2.2
在过去的一个小时里,我一直在重新安装我们!不能确定问题是什么
这是代码:
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace Planificacion.UnitTest.Config
{
public class LoggerTestConfig
{
private LoggerTestConfig()
{
}
// https://stackoverflow.com/a/43425633/1057052
public static ILogger<T> GetLoggerConfig<T>() where T : class
{
var serviceProvider = new ServiceCollection()
.AddLogging()
.BuildServiceProvider();
var factory = serviceProvider.GetService<ILoggerFactory>();
return factory.CreateLogger<T>();
}
}
}
最佳答案
该图突出显示已引用了依赖项注入(inject)dll,但如提供的链接所示,需要的LoggingServiceCollectionExtensions.AddLogging Method指示
Namespace: Microsoft.Extensions.DependencyInjection
Assembly: Microsoft.Extensions.Logging.dll <----NOTE THIS
如图中未提到的那样。
添加对上述
Microsoft.Extensions.Logging.dll
程序集的引用。关于c# - ServiceCollection不包含来自 "AddLogging"的定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54316380/