AddProvider 會檢查非 Null 提供者
Microsoft.Extensions.Logging.LoggerFactory 使用 AddProvider(ILoggerProvider)
方法實作 ILoggerFactory。 不接受 null
提供者;這會導致擲回 ArgumentNullException。
導入的版本
6.0 RC 1
先前的行為
先前,AddProvider(ILoggerProvider) 未執行 provider
引數的任何驗證。 因此,方法將 null
視為「有效」提供者,並將其新增至提供者集合。
新的行為
從 .NET 6 開始,不接受 null
提供者;如果記錄提供者引數為 null
,AddProvider(ILoggerProvider) 則會擲回 ArgumentNullException。 例如,下列程式碼會擲回 ArgumentNullException:
var factory = new LoggerFactory();
((ILoggerFactory)factory).AddProvider(null));
中斷性變更的類型
此變更可能會影響來源相容性。
變更原因
先前的行為會導致類別內的某些作業不必要地擲回 NullReferenceException 例外狀況。 例如,LoggerFactory.Dispose() 方法會擷取例外狀況,而且不會執行任何動作。
建議的動作
請確認您未將 null
提供者傳遞至 AddProvider(ILoggerProvider)。