API, которые всегда вызывают исключения в .NET (Core)

Следующие API всегда вызывают исключение для .NET (Core) на всех или подмножествах платформ. В большинстве случаев выбрасывается исключение PlatformNotSupportedException.

Эта статья упорядочивает затронутые API по пространству имен.

Замечание

  • Эта статья находится в процессе написания. Это не полный список API, которые вызывают исключения в .NET 5+.
  • В этой статье не содержатся явные реализации интерфейса для двоичной сериализации, которая вызывается в .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.Компилятор

Член Платформы, которые бросают
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.Diagnostics.Process

Член Платформы, которые бросают
Process.MaxWorkingSet (только для установки) Линукс
Process.MinWorkingSet (только для установки) Линукс
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 Forms и 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

Член Платформы, которые бросают
AesCcm macOS
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
DSA.Create* macOS
DSACryptoServiceProvider* macOS
DSACertificateExtensions.GetDSAPrivateKey(X509Certificate2)* macOS
DSACertificateExtensions.GetDSAPublicKey(X509Certificate2)* macOS
DSACertificateExtensions.CopyWithPrivateKey(X509Certificate2, DSA)* macOS
DSAOpenSsl macOS
ECDiffieHellmanCng.FromXmlString(String, ECKeyXmlFormat) Все
ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat) Все
ECDiffieHellmanCngPublicKey.FromXmlString(String) Все
ECDiffieHellmanCngPublicKey.ToXmlString() Все
ECDiffieHellmanOpenSsl macOS
ECDiffieHellmanPublicKey.ToByteArray() Linux и macOS
ECDiffieHellmanPublicKey.ToXmlString() Все
ECDsaCng.FromXmlString(String, ECKeyXmlFormat) Все
ECDsaCng.ToXmlString(ECKeyXmlFormat) Все
ECDsaOpenSsl macOS
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[]) Все
RSAOpenSsl macOS
System.Security.Cryptography.RSA.DecryptValue(Byte[]) Все
System.Security.Cryptography.RSA.EncryptValue(Byte[]) Все
RSA.FromXmlString Все
RSA.ToXmlString Все
System.Security.Cryptography.SafeEvpPKeyHandle macOS
SymmetricAlgorithm.Create() Все
SymmetricAlgorithm.Create(String) Все

* .NET 11 и более поздних версий.

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) Все
XsltSettings.EnableScript (если задано значение true) Все

См. также