始终在 .NET Core 和 .NET 5+ 上引发异常的 API

以下 API 将始终在所有或部分平台上的 .NET (Core) 中引发异常。 在大多数情况下,引发的异常是 PlatformNotSupportedException

本文按命名空间组织受影响的 API。

注意

  • 本文是当前正在进行的工作。 它不是在 .NET 5+ 上引发异常的 API 的完整列表。
  • 本文不包括在 .NET 5+ 上引发的二进制序列化的显式接口实现。 有关详细信息,请参阅 .NET Core 中的二进制序列化

系统

成员 引发异常的平台
AppDomain.CreateDomain All
AppDomain.ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm) 全部
AppDomain.Unload(AppDomain) All
Console.CapsLock Linux 和 macOS
Console.NumberLock Linux 和 macOS
Delegate.GetObjectData(SerializationInfo, StreamingContext) All
Exception.SerializeObjectState 全部
MarshalByRefObject.GetLifetimeService() 全部
MarshalByRefObject.InitializeLifetimeService() 全部
OperatingSystem.GetObjectData(SerializationInfo, StreamingContext) 全部
Type.ReflectionOnlyGetType(String, Boolean, Boolean) All

System.CodeDom.Compiler

成员 引发异常的平台
CodeDomProvider.CompileAssemblyFromDom All
CodeDomProvider.CompileAssemblyFromFile 全部
CodeDomProvider.CompileAssemblyFromSource All

System.Collections.Specialized

成员 引发异常的平台
NameObjectCollectionBase(SerializationInfo, StreamingContext) All
NameObjectCollectionBase.GetObjectData(SerializationInfo, StreamingContext) 全部
NameObjectCollectionBase.OnDeserialization(Object) All

System.Configuration

成员 引发异常的平台
System.Configuration.RsaProtectedConfigurationProvider(所有成员) All

System.Console

成员 引发异常的平台
Console.Beep() Linux 和 macOS
Console.BufferHeight(仅设置) Linux 和 macOS
Console.BufferWidth(仅设置) Linux 和 macOS
Console.CursorSize(仅设置) Linux 和 macOS
Console.CursorVisible(仅获取) Linux 和 macOS
Console.MoveBufferArea Linux 和 macOS
Console.SetWindowPosition Linux 和 macOS
Console.SetWindowSize Linux 和 macOS
Console.Title(仅获取) Linux 和 macOS
Console.WindowHeight(仅设置) Linux 和 macOS
Console.WindowLeft(仅设置) Linux 和 macOS
Console.WindowTop(仅设置) Linux 和 macOS
Console.WindowWidth(仅设置) Linux 和 macOS

System.Data.Common

成员 引发异常的平台
DbDataReader.GetSchemaTable(引发 NotSupportedException All

System.Diagnostics.Process

成员 引发异常的平台
Process.MaxWorkingSet(仅设置) Linux
Process.MinWorkingSet(仅设置) Linux
Process.ProcessorAffinity macOS
Process.MainWindowHandle Linux 和 macOS
Process.Start(String, String, String, SecureString, String) Linux 和 macOS
Process.Start(String, String, SecureString, String) Linux 和 macOS
ProcessStartInfo.UserName Linux 和 macOS
ProcessStartInfo.PasswordInClearText Linux 和 macOS
ProcessStartInfo.Domain Linux 和 macOS
ProcessStartInfo.LoadUserProfile Linux 和 macOS
ProcessThread.BasePriority(仅设置) Linux 和 macOS
ProcessThread.BasePriority(仅获取) macOS
ProcessThread.ProcessorAffinity(仅设置) Linux 和 macOS

System.IO

成员 引发异常的平台
FileSystemInfo(SerializationInfo, StreamingContext) All
FileSystemInfo.GetObjectData(SerializationInfo, StreamingContext) All

System.IO.Pipes

成员 引发异常的平台
NamedPipeClientStream.NumberOfServerInstances Linux 和 macOS
NamedPipeServerStream.GetImpersonationUserName() Linux 和 macOS
PipeStream.InBufferSize Linux 和 macOS
PipeStream.OutBufferSize Linux 和 macOS
PipeStream.ReadMode(仅设置) Linux 和 macOS
PipeStream.WaitForPipeDrain() Linux 和 macOS

System.Media

成员 引发异常的平台
SoundPlayer(SerializationInfo, StreamingContext) All

System.Net

成员 引发异常的平台
AuthenticationManager.Authenticate(String, WebRequest, ICredentials) All
AuthenticationManager.PreAuthenticate(WebRequest, ICredentials) 全部
FileWebRequest(SerializationInfo, StreamingContext) 全部
FileWebRequest.GetObjectData(SerializationInfo, StreamingContext) 全部
FileWebResponse(SerializationInfo, StreamingContext) 全部
FileWebResponse.GetObjectData(SerializationInfo, StreamingContext) 全部
HttpWebRequest(SerializationInfo, StreamingContext) 全部
HttpWebRequest.GetObjectData(SerializationInfo, StreamingContext) 全部
HttpWebResponse(SerializationInfo, StreamingContext) 全部
HttpWebResponse.GetObjectData(SerializationInfo, StreamingContext) 全部
WebProxy(SerializationInfo, StreamingContext) 全部
WebProxy.GetDefaultProxy() 全部
WebProxy.GetObjectData 全部
WebRequest(SerializationInfo, StreamingContext) 全部
WebRequest.GetObjectData(SerializationInfo, StreamingContext) 全部
WebResponse(SerializationInfo, StreamingContext) 全部
WebResponse.GetObjectData(SerializationInfo, StreamingContext) All

System.Net.NetworkInformation

成员 引发异常的平台
Ping.Send Windows (UWP)

System.Net.Sockets

成员 引发异常的平台
Socket(SocketInformation) All
Socket.DuplicateAndClose(Int32) All

System.Net.WebSockets

成员 引发异常的平台
WebSocket.RegisterPrefixes() All

System.Reflection

成员 引发异常的平台
Assembly.CodeBase All
Assembly.EscapedCodeBase 全部
Assembly.ReflectionOnlyLoad 全部
Assembly.ReflectionOnlyLoadFrom(String) 全部
AssemblyName.GetObjectData(SerializationInfo, StreamingContext) 全部
AssemblyName.KeyPair 全部
AssemblyName.OnDeserialization(Object) 全部
StrongNameKeyPair 全部
StrongNameKeyPair.PublicKey All

System.Runtime.CompilerServices

成员 引发异常的平台
DebugInfoGenerator.CreatePdbGenerator() All

System.Runtime.InteropServices

成员 引发异常的平台
IDispatchImplAttribute All
Marshal.GetIDispatchForObject(Object) 全部
RuntimeEnvironment.SystemConfigurationFile 全部
RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid) 全部
RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid) All
WindowsRuntimeMarshal.StringToHString(String) Linux 和 macOS
WindowsRuntimeMarshal.PtrToStringHString(IntPtr) Linux 和 macOS
WindowsRuntimeMarshal.FreeHString(IntPtr) Linux 和 macOS

System.Runtime.Serialization

成员 引发异常的平台
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream, Object)* All
BinaryFormatter.Deserialize(Stream)* 全部
XsdDataContractExporter.Schemas 全部

*.NET 8 及更高版本仅适用于除 Windows 窗体和 WPF 之外的所有项目类型。

System.Security

成员 引发异常的平台
CodeAccessPermission.Deny() All
CodeAccessPermission.PermitOnly() 全部
PermissionSet.ConvertPermissionSet(String, Byte[], String) 全部
PermissionSet.Deny() 全部
PermissionSet.PermitOnly() 全部
SecurityContext.Capture() 全部
SecurityContext.CreateCopy() 全部
SecurityContext.Dispose() 全部
SecurityContext.IsFlowSuppressed() 全部
SecurityContext.IsWindowsIdentityFlowSuppressed() 全部
SecurityContext.RestoreFlow() 全部
SecurityContext.Run(SecurityContext, ContextCallback, Object) 全部
SecurityContext.SuppressFlow() 全部
SecurityContext.SuppressFlowWindowsIdentity() All

System.Security.Claims

成员 引发异常的平台
ClaimsPrincipal(SerializationInfo, StreamingContext) All
ClaimsPrincipal.GetObjectData(SerializationInfo, StreamingContext) 全部
ClaimsIdentity(SerializationInfo) 全部
ClaimsIdentity(SerializationInfo, StreamingContext) 全部
ClaimsIdentity.GetObjectData(SerializationInfo, StreamingContext) All

System.Security.Cryptography

成员 引发异常的平台
AsymmetricAlgorithm.Create(String) All
System.Security.Cryptography.CngAlgorithm Linux 和 macOS
System.Security.Cryptography.CngAlgorithmGroup Linux 和 macOS
System.Security.Cryptography.CngKey Linux 和 macOS
System.Security.Cryptography.CngKeyBlobFormat Linux 和 macOS
System.Security.Cryptography.CngKeyCreationParameters Linux 和 macOS
System.Security.Cryptography.CngProvider Linux 和 macOS
System.Security.Cryptography.CngUIPolicy Linux 和 macOS
CryptoConfig.EncodeOID(String) All
CspKeyContainerInfo Linux 和 macOS
CspKeyContainerInfo.Accessible Linux 和 macOS
CspKeyContainerInfo.Exportable Linux 和 macOS
CspKeyContainerInfo.HardwareDevice Linux 和 macOS
CspKeyContainerInfo.KeyContainerName Linux 和 macOS
CspKeyContainerInfo.KeyNumber Linux 和 macOS
CspKeyContainerInfo.MachineKeyStore Linux 和 macOS
CspKeyContainerInfo.Protected Linux 和 macOS
CspKeyContainerInfo.ProviderName Linux 和 macOS
CspKeyContainerInfo.ProviderType Linux 和 macOS
CspKeyContainerInfo.RandomlyGenerated Linux 和 macOS
CspKeyContainerInfo.Removable Linux 和 macOS
CspKeyContainerInfo.UniqueKeyContainerName Linux 和 macOS
ECDiffieHellmanCng.FromXmlString(String, ECKeyXmlFormat) All
ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat) 全部
ECDiffieHellmanCngPublicKey.FromXmlString(String) 全部
ECDiffieHellmanCngPublicKey.ToXmlString() All
ECDiffieHellmanPublicKey.ToByteArray() Linux 和 macOS
ECDiffieHellmanPublicKey.ToXmlString() All
ECDsaCng.FromXmlString(String, ECKeyXmlFormat) 全部
ECDsaCng.ToXmlString(ECKeyXmlFormat) 全部
HashAlgorithm.Create() 全部
HMAC.Create() 全部
HMAC.Create(String) 全部
HMAC.HashCore 全部
HMAC.HashFinal 全部
HMAC.Initialize 全部
KeyedHashAlgorithm.Create() 全部
KeyedHashAlgorithm.Create(String) All
ProtectedData.Protect Linux 和 macOS
ProtectedData.Unprotect Linux 和 macOS
System.Security.Cryptography.RSACryptoServiceProvider.DecryptValue(Byte[]) All
System.Security.Cryptography.RSACryptoServiceProvider.EncryptValue(Byte[]) 全部
System.Security.Cryptography.RSA.DecryptValue(Byte[]) 全部
System.Security.Cryptography.RSA.EncryptValue(Byte[]) 全部
RSA.FromXmlString 全部
RSA.ToXmlString 全部
SymmetricAlgorithm.Create() 全部
SymmetricAlgorithm.Create(String) All

System.Security.Cryptography.Pkcs

成员 引发异常的平台
CmsSigner(CspParameters) All
SignerInfo.ComputeCounterSignature() All

System.Security.Cryptography.X509Certificates

成员 引发异常的平台
X509Certificate(SerializationInfo, StreamingContext) All
X509Certificate.Import 全部
X509Certificate2(SerializationInfo, StreamingContext) All
X509Certificate2.PrivateKey(仅设置) All

System.Security.Authentication.ExtendedProtection

成员 引发异常的平台
ExtendedProtectionPolicy(SerializationInfo, StreamingContext) All

System.Security.Policy

成员 引发异常的平台
Hash.GetObjectData(SerializationInfo, StreamingContext) All

System.ServiceProcess.ServiceController

成员 引发异常的平台
TimeoutException(SerializationInfo, StreamingContext) All

System.Text.RegularExpressions

成员 引发异常的平台
Regex.CompileToAssembly All

System.Threading

成员 引发异常的平台
CompressedStack.GetObjectData(SerializationInfo, StreamingContext) All
ExecutionContext.GetObjectData(SerializationInfo, StreamingContext) 全部
Thread.Abort 全部
Thread.ResetAbort() 全部
Thread.Resume() 全部
Thread.Suspend() All

System.Xml

成员 引发异常的平台
XmlDictionaryReader.CreateMtomReader(Byte[], Int32, Int32, Encoding[], String, XmlDictionaryReaderQuotas, Int32, OnXmlDictionaryReaderClose) All
XmlDictionaryReader.CreateMtomReader(Stream, Encoding[], String, XmlDictionaryReaderQuotas, Int32, OnXmlDictionaryReaderClose) 全部
XmlDictionaryWriter.CreateMtomWriter(Stream, Encoding, Int32, String, String, String, Boolean, Boolean) All

另请参阅