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

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

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

注释

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

系统

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

System.CodeDom.Compiler

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

System.Collections.Specialized

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

System.Configuration

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

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 全部

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) 全部
FileSystemInfo.GetObjectData(SerializationInfo, StreamingContext) 全部

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) 全部

System.Net

成员 引发异常的平台
System.Net.AuthenticationManager* 全部
AuthenticationManager.Authenticate(String, WebRequest, ICredentials) 全部
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) 全部

* .NET 9 及更高版本。

System.Net.NetworkInformation

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

System.Net.Sockets

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

System.Net.WebSockets

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

System.Reflection

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

System.Runtime.CompilerServices

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

System.Runtime.InteropServices

成员 引发异常的平台
IDispatchImplAttribute 全部
Marshal.GetIDispatchForObject(Object) 全部
RuntimeEnvironment.SystemConfigurationFile 全部
RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid) 全部
RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid) 全部
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)* 全部
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream, Object) 全部
BinaryFormatter.Deserialize(Stream) 全部
XsdDataContractExporter.Schemas 全部

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

System.Security

成员 引发异常的平台
CodeAccessPermission.Deny() 全部
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() 全部

System.Security.Claims

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

System.Security.Cryptography

成员 引发异常的平台
AsymmetricAlgorithm.Create(String) 全部
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) 全部
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) 全部
ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat) 全部
ECDiffieHellmanCngPublicKey.FromXmlString(String) 全部
ECDiffieHellmanCngPublicKey.ToXmlString() 全部
ECDiffieHellmanPublicKey.ToByteArray() Linux 和 macOS
ECDiffieHellmanPublicKey.ToXmlString() 全部
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) 全部
ProtectedData.Protect Linux 和 macOS
ProtectedData.Unprotect Linux 和 macOS
System.Security.Cryptography.RSACryptoServiceProvider.DecryptValue(Byte[]) 全部
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) 全部

System.Security.Cryptography.Pkcs

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

System.Security.Cryptography.X509Certificates

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

System.Security.Authentication.ExtendedProtection

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

System.Security.Policy(系统安全策略)

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

System.ServiceProcess.ServiceController

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

System.Text.RegularExpressions(系统.文本.正则表达式)

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

System.Threading

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

System.Xml

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

另请参阅