AddProvider 會檢查非 Null 提供者

Microsoft.Extensions.Logging.LoggerFactory 使用 AddProvider(ILoggerProvider) 方法實作 ILoggerFactory。 不接受 null 提供者;這會導致擲回 ArgumentNullException

導入的版本

6.0 RC 1

先前的行為

先前,AddProvider(ILoggerProvider) 未執行 provider 引數的任何驗證。 因此,方法將 null 視為「有效」提供者,並將其新增至提供者集合。

新的行為

從 .NET 6 開始,不接受 null 提供者;如果記錄提供者引數為 nullAddProvider(ILoggerProvider) 則會擲回 ArgumentNullException。 例如,下列程式碼會擲回 ArgumentNullException

var factory = new LoggerFactory();
((ILoggerFactory)factory).AddProvider(null));

中斷性變更的類型

此變更可能會影響來源相容性

變更原因

先前的行為會導致類別內的某些作業不必要地擲回 NullReferenceException 例外狀況。 例如,LoggerFactory.Dispose() 方法會擷取例外狀況,而且不會執行任何動作。

請確認您未將 null 提供者傳遞至 AddProvider(ILoggerProvider)

受影響的 API