天天看點

SYSLIB0009:AuthenticationManager 身份驗證和預身份驗證方法不受支援

從 .NET 5 開始,以下 API 标記為已過時。 使用這些 API 會在編譯時生成警告 SYSLIB0009,并在運作時引發 PlatformNotSupportedException。

AuthenticationManager.Authenticate

AuthenticationManager.PreAuthenticate

解決方法

實作 IAuthenticationModule,其中具有先前由 AuthenticationManager.Authenticate 調用的方法。

禁止顯示警告

建議盡可能使用可用的解決方法。 但是,如果無法更改代碼,可以通過 #pragma 指令或 <NoWarn> 項目設定來禁止顯示警告。 如果必須使用過時 API,并且 SYSLIB0XXX 診斷沒有顯示為錯誤,則可以在代碼或項目檔案中取消該警告。

若要禁止顯示代碼中的警告,請執行以下操作:

// Disable the warning.

#pragma warning disable SYSLIB0001

// Code that uses obsolete API.

//...

// Re-enable the warning.

#pragma warning restore SYSLIB0001

若要禁止顯示項目檔案中的警告,請執行以下操作:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>

<TargetFramework>net5.0</TargetFramework>

<!-- NoWarn below suppresses SYSLIB0001 project-wide -->

<NoWarn>