gpt4 book ai didi

c# - ServiceCollection 不包含来自 "AddLogging"的定义

转载 作者:太空狗 更新时间:2023-10-29 21:21:05 27 4
gpt4 key购买 nike

我目前正在尝试创建一个 Logger,以便我可以将其注入(inject)单元测试。我正在关注 https://stackoverflow.com/a/43425633/1057052 ,它曾经有效!然后我移动了项目并重新建立了依赖关系,现在我得到了

'ServiceCollection' does not contain a definition for 'AddLogging' and no accessible extension method 'AddLogging' accepting a first argument of type 'ServiceCollection' could be found (are you missing a using directive or an assembly reference?)

一定是我遗漏了什么愚蠢的东西。目前在 ASP.NET Core 2.2 下,我相信我已经分配了正确的依赖项。

https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection?view=aspnetcore-2.2

https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.dependencyinjection.loggingservicecollectionextensions.addlogging?view=aspnetcore-2.2

过去一个小时我一直在重新安装我们的 so!无法确定问题是什么

代码如下:

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>();
}

}
}

enter image description here

最佳答案

图像突出显示依赖项注入(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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com