在我的 ASP.NET Core-6 Web API 中,我安装了 Serilog。我从未安装过 Microsoft.Extensions.Logging
但令我惊讶的是,当我想使用 Serilog 引用时:
using ILogger = Serilog.ILogger;
public class AuthController : BaseApiController
{
private readonly ILogger<AuthController> _logger;
private IAuthService _authService;
public AuthController(ILogger<AuthController> logger, IAuthService authService)
{
_logger = logger;
_authService = authService;
}
}
ILogger 自动检测 Microsoft.Extensions.Logging,我无法更改为 Serilog。
如何解决这个问题?
谢谢
最佳答案
.NET 6 默认情况下在 <ImplicitUsings>enable</ImplicitUsings>
中启用“隐式使用”( .csproj
)文件。 ASP.NET Core 6 默认包括 Microsoft.Extensions.Logging
.
您可以“禁用”所有“使用”或删除 Microsoft.Extensions.Logging
明确地在您的 .csproj
中文件。
<ItemGroup>
<Using Remove="Microsoft.Extensions.Logging" />
</ItemGroup>
参见here了解更多信息。
关于c# - ASP.NET Core Web API - 如何解决 Serilog 和 Microsoft.Extensions.Logging 之间的冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72193848/