Obsolete Members in the .NET Framework 4

The following tables list the type members that have been declared obsolete based on the assembly in which they are found. The tables are organized as follows:

  • Obsolete Members in System Assemblies

    • mscorlib.dll

    • System.Core.dll

    • System.Data.dll

    • System.Data.Entity.dll

    • System.Data.OracleClient.dll

    • System.Design.dll

    • System.dll

    • System.Drawing.dll

    • System.Messaging.dll

    • System.ServiceModel.dll

    • System.Web.DataVisualization.dll

    • System.Web.dll

    • System.Web.DynamicData.dll

    • System.Web.Extensions.dll

    • System.Web.Services.dll

    • System.Windows.Forms.dll

    • System.Xaml.dll

    • System.Xml.dll

  • Obsolete Members in Microsoft Assemblies

    • IEHost.dll and IEExec.exe

    • ISymWrapper.dll

    • Microsoft.Build.Conversion.v4.0.dll

    • Microsoft.Build.Engine.dll

    • Microsoft.VisualBasic.dll

Obsolete Members in System Assemblies

The following tables list the obsolete members in system assemblies. These assemblies are used for general-purpose application development that targets the .NET Framework.

mscorlib.dll

Type

Member

Message

System.Enum

ToString(IFormatProvider)

The provider argument is not used. Please use Enum.ToString().

System.Enum

ToString(String, IFormatProvider)

The provider argument is not used. Please use Enum.ToString().

System.Activator

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Activator.CreateInstance which does not take an System.Security.Policy.Evidence parameter.

System.Activator

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Activator.CreateInstanceFrom which does not take an System.Security.Policy.Evidence parameter.

System.Activator

CreateInstanceFrom(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Methods which use Evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Activator.CreateInstanceFrom that does not take an System.Security.Policy.Evidence parameter.

System.Activator

CreateInstance(AppDomain, String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Activator.CreateInstance that does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

CreateInstanceFromAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.CreateInstanceFromAndUnwrap that does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.ExecuteAssembly that does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

SetAppDomainPolicy

AppDomain policy levels are obsolete and will be removed in a future release of the .NET Framework.

System.AppDomain

ExecuteAssemblyByName(AssemblyName, Evidence, String[])

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.ExecuteAssemblyByName which does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

Load(Byte[], Byte[], Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.Load which does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

ExecuteAssembly(String, Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.ExecuteAssembly which does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

AppendPrivatePath

AppendPrivatePath has been deprecated. Please investigate the use of AppDomainSetup.PrivateBinPath instead.

System.AppDomain

CreateInstanceAndUnwrap(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.CreateInstanceFromAndUnwrap which does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

Load(String, Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.Load which does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

ClearShadowCopyPath

ClearShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead.

System.AppDomain

Load(AssemblyName, Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.Load which does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

SetCachePath

SetCachePath has been deprecated. Please investigate the use of AppDomainSetup.CachePath instead.

System.AppDomain

CreateInstance(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.CreateInstance that does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean)

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.AppDomain

SetShadowCopyFiles

SetShadowCopyFiles has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyFiles instead.

System.AppDomain

ExecuteAssemblyByName(String, Evidence, String[])

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.ExecuteAssemblyByName that does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence)

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.AppDomain

ClearPrivatePath

ClearPrivatePath has been deprecated. Please investigate the use of AppDomainSetup.PrivateBinPath instead.

System.AppDomain

ExecuteAssembly(String, Evidence, String[])

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.ExecuteAssembly which does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, PermissionSet, PermissionSet, PermissionSet)

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.AppDomain

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>)

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.AppDomain

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.DefineDynamicAssembly that does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

CreateInstanceFrom(String, String, Boolean, BindingFlags, Binder, Object[], CultureInfo, Object[], Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.CreateInstanceFrom that does not take an System.Security.Policy.Evidence parameter.

System.AppDomain

GetCurrentThreadId

GetCurrentThreadId has been deprecated because it does not provide a stable Id when managed threads are running on fibers (aka lightweight threads). To get a stable identifier for a managed thread, use the Thread.ManagedThreadId property.

System.AppDomain

SetDynamicBase

SetDynamicBase has been deprecated. Please investigate the use of AppDomainSetup.DynamicBase instead.

System.AppDomain

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, PermissionSet, PermissionSet, PermissionSet)

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.AppDomain

SetShadowCopyPath

SetShadowCopyPath has been deprecated. Please investigate the use of AppDomainSetup.ShadowCopyDirectories instead.

System.AppDomain

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, Evidence, PermissionSet, PermissionSet, PermissionSet)

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.AppDomain

DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet)

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.AppDomain

ExecuteAssemblyByName(String, Evidence)

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of AppDomain.ExecuteAssemblyByName that does not take an System.Security.Policy.Evidence parameter.

System.LoaderOptimization

DomainMask

This method has been deprecated. Please use Assembly.Load instead.

System.LoaderOptimization

DisallowBindings

This method has been deprecated. Please use Assembly.Load instead.

System.Threading.WaitHandle

Handle

Use the WaitHandle.SafeWaitHandle property instead.

System.Threading.Overlapped

EventHandle

This property is not 64-bit compatible. Use Overlapped.EventHandleIntPtr instead.

System.Threading.Overlapped

Pack(IOCompletionCallback)

This method is not safe. Use Overlapped.Pack(IOCompletionCallback, Object) instead.

System.Threading.Overlapped

Overlapped(Int32, Int32, Int32, IAsyncResult)

This constructor is not 64-bit compatible. Use the Overlapped.Overlapped(Int32, Int32, IntPtr, IAsyncResult) constructor that takes an System.IntPtr for the event handle.

System.Threading.Overlapped

UnsafePack(IOCompletionCallback)

This method is not safe. Use Overlapped.UnsafePack(IOCompletionCallback, Object) instead.

System.Threading.Thread

Resume

Resume has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex , Event, and Semaphore, to synchronize threads or protect resources.

System.Threading.Thread

SetCompressedStack

SetCompressedStack is no longer supported. Please use the System.Threading.CompressedStack class.

System.Threading.Thread

GetCompressedStack

GetCompressedStack is no longer supported. Please use the System.Threading.CompressedStack class.

System.Threading.Thread

ApartmentState

The ApartmentState property has been deprecated. Use Thread.GetApartmentState, Thread.SetApartmentState or Thread.TrySetApartmentState instead.

System.Threading.Thread

Suspend

Suspend has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex , Event, and Semaphore, to synchronize threads or protect resources.

System.Threading.ThreadPool

BindHandle(IntPtr)

BindHandle(IntPtr) has been deprecated. Please use ThreadPool.BindHandle(SafeHandle) instead.

System.Collections.Hashtable

Hashtable(IDictionary, Single, IHashCodeProvider, IComparer)

Please use Hashtable.Hashtable(IDictionary, Single, IEqualityComparer) instead.

System.Collections.Hashtable

Hashtable(IDictionary, IHashCodeProvider, IComparer)

Please use Hashtable.Hashtable(IDictionary, IEqualityComparer) instead.

System.Collections.Hashtable

Hashtable(Int32, IHashCodeProvider, IComparer)

Please use Hashtable.Hashtable(Int32, IEqualityComparer) instead.

System.Collections.Hashtable

Hashtable(IHashCodeProvider, IComparer)

Please use Hashtable.Hashtable(IEqualityComparer) instead.

System.Collections.Hashtable

Hashtable(Int32, Single, IHashCodeProvider, IComparer)

Please use Hashtable.Hashtable(Int32, Single, IEqualityComparer) instead.

System.Diagnostics.Debugger

Debugger

Do not create instances of the Debugger class. Call the static methods directly on this type instead.

System.Diagnostics.SymbolStore.ISymbolBinder

GetReader

The recommended alternative is ISymbolBinder1.GetReader, which takes the importer interface pointer as an IntPtr instead of an Int32, and thus works on both 32-bit and 64-bit architectures.

System.Reflection.Assembly

Load(String, Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Assembly.Load that does not take an System.Security.Policy.Evidence parameter.

System.Reflection.Assembly

LoadWithPartialName(String)

This method has been deprecated. Please use Assembly.Load instead.

System.Reflection.Assembly

LoadWithPartialName(String, Evidence)

This method has been deprecated. Please use Assembly.Load instead.

System.Reflection.Assembly

Load(Byte[], Byte[], Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Assembly.Load that does not take an System.Security.Policy.Evidence parameter.

System.Reflection.Assembly

Load(AssemblyName, Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Assembly.Load that does not take an System.Security.Policy.Evidence parameter.

System.Reflection.Assembly

LoadFrom(String, Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Assembly.LoadFrom which does not take an System.Security.Policy.Evidence parameter.

System.Reflection.Assembly

LoadFile(String, Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Assembly.LoadFile which does not take an System.Security.Policy.Evidence parameter.

System.Reflection.Assembly

LoadFrom(String, Evidence, Byte[], AssemblyHashAlgorithm)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of Assembly.LoadFrom which does not take an System.Security.Policy.Evidence parameter.

System.Reflection.AssemblyFlagsAttribute

AssemblyFlagsAttribute(Int32)

This constructor has been deprecated. Please use AssemblyFlagsAttribute.AssemblyFlagsAttribute(AssemblyNameFlags) instead.

System.Reflection.AssemblyFlagsAttribute

AssemblyFlagsAttribute(UInt32)

This constructor has been deprecated. Please use AssemblyFlagsAttribute.AssemblyFlagsAttribute(AssemblyNameFlags) instead.

System.Reflection.AssemblyFlagsAttribute

Flags

This property has been deprecated. Please use AssemblyFlagsAttribute.AssemblyFlags instead.

System.Globalization.CultureTypes

FrameworkCultures

This value has been deprecated. Please use other values in System.Globalization.CultureTypes.

System.Globalization.CultureTypes

WindowsOnlyCultures

This value has been deprecated. Please use other values in System.Globalization.CultureTypes.

Microsoft.Win32.Registry

DynData

The DynData registry key only works on Win9x, which is no longer supported by the CLR. On NT-based operating systems, use the Registry.PerformanceData registry key instead.

System.Security.Policy.Evidence

AddAssembly

This method is obsolete. Please use Evidence.AddAssemblyEvidence<T> instead.

System.Security.Policy.Evidence

CopyTo

Evidence should not be treated as an System.Collections.ICollection. Please use the Evidence.GetHostEnumerator and Evidence.GetAssemblyEnumerator methods rather than using CopyTo.

System.Security.Policy.Evidence

Count

Evidence should not be treated as an System.Collections.ICollection. Please use Evidence.GetHostEnumerator and Evidence.GetAssemblyEnumerator to iterate over the evidence to collect a count.

System.Security.Policy.Evidence

AddHost

This method is obsolete. Please use Evidence.AddHostEvidence<T> instead.

System.Security.Policy.Evidence

GetEnumerator

GetEnumerator is obsolete. Please use Evidence.GetHostEnumerator and Evidence.GetAssemblyEnumerator instead.

System.Security.Policy.Evidence

Evidence(Object[], Object[])

This constructor is obsolete. Please use the Evidence.Evidence(EvidenceBase[], EvidenceBase[]) constructor instead.

System.Security.Policy.PolicyLevel

CreateAppDomainLevel

AppDomain policy levels are obsolete and will be removed in a future release of the .NET Framework.

System.Security.Policy.PolicyLevel

RemoveFullTrustAssembly(StrongNameMembershipCondition)

Because all GAC assemblies always get full trust, the full trust list is no longer meaningful. You should install any assemblies that are used in security policy in the GAC to ensure they are trusted.

System.Security.Policy.PolicyLevel

FullTrustAssemblies

Because all GAC assemblies always get full trust, the full trust list is no longer meaningful. You should install any assemblies that are used in security policy in the GAC to ensure they are trusted.

System.Security.Policy.PolicyLevel

AddFullTrustAssembly(StrongName)

Because all GAC assemblies always get full trust, the full trust list is no longer meaningful. You should install any assemblies that are used in security policy in the GAC to ensure they are trusted.

System.Security.Policy.PolicyLevel

AddFullTrustAssembly(StrongNameMembershipCondition)

Because all GAC assemblies always get full trust, the full trust list is no longer meaningful. You should install any assemblies that are used in security policy in the GAC to ensure they are trusted.

System.Security.Policy.PolicyLevel

RemoveFullTrustAssembly(StrongName)

Because all GAC assemblies always get full trust, the full trust list is no longer meaningful. You should install any assemblies that are used in security policy in the GAC to ensure they are trusted.

System.Runtime.InteropServices.Marshal

GetThreadFromFiberCookie

The GetThreadFromFiberCookie method has been deprecated. Use the hosting API to perform this operation.

System.Runtime.InteropServices.Marshal

ReleaseThreadCache

This API did not perform any operation and will be removed in future versions of the CLR.

System.Runtime.InteropServices.Marshal

GetManagedThunkForUnmanagedMethodPtr

The GetManagedThunkForUnmanagedMethodPtr method has been deprecated and will be removed in a future release.

System.Runtime.InteropServices.Marshal

GetTypeInfoName(UCOMITypeInfo)

Use Marshal.GetTypeInfoName(ITypeInfo) instead.

System.Runtime.InteropServices.Marshal

GetTypeLibLcid(UCOMITypeLib)

Use Marshal.GetTypeLibLcid(ITypeLib) instead.

System.Runtime.InteropServices.Marshal

GetTypeLibName(UCOMITypeLib)

Use Marshal.GetTypeLibName(ITypeLib) instead.

System.Runtime.InteropServices.Marshal

GetTypeLibGuid(UCOMITypeLib)

Use Marshal.GetTypeLibGuid(ITypeLib) instead.

System.Runtime.InteropServices.Marshal

GetUnmanagedThunkForManagedMethodPtr

The GetUnmanagedThunkForManagedMethodPtr method has been deprecated and will be removed in a future release.

System.Runtime.InteropServices.RuntimeEnvironment

RuntimeEnvironment

Do not create instances of the System.Runtime.InteropServices.RuntimeEnvironment class. Call the static methods directly on this type instead.

System.IO.FileStream

FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean)

This constructor has been deprecated. Please use FileStream.FileStream(SafeFileHandle, FileAccess, Int32, Boolean) instead, and optionally make a new Microsoft.Win32.SafeHandles.SafeFileHandle with ownsHandle=false if needed.

System.IO.FileStream

FileStream(IntPtr, FileAccess)

This constructor has been deprecated. Please use FileStream.FileStream(SafeFileHandle, FileAccess) instead.

System.IO.FileStream

Handle

This property has been deprecated. Please use the FileStream.SafeFileHandle property instead.

System.IO.FileStream

FileStream(IntPtr, FileAccess, Boolean, Int32)

This constructor has been deprecated. Please use FileStream.FileStream(SafeFileHandle, FileAccess, Int32) instead, and optionally make a new Microsoft.Win32.SafeHandles.SafeFileHandle with ownsHandle=false if needed.

System.IO.FileStream

FileStream(IntPtr, FileAccess, Boolean)

This constructor has been deprecated. Please use FileStream.FileStream(SafeFileHandle, FileAccess) instead, and optionally make a new Microsoft.Win32.SafeHandles.SafeFileHandle with ownsHandle=false if needed.

System.IO.Path

InvalidPathChars

Please use Path.GetInvalidPathChars or Path.GetInvalidFileNameChars instead.

System.Security.CodeAccessPermission

RevertDeny

Deny is obsolete and will be removed in a future release of the .NET Framework.

System.Security.CodeAccessPermission

Deny

Deny is obsolete and will be removed in a future release of the .NET Framework.

System.Security.Permissions.SecurityAction

Deny

Deny is obsolete and will be removed in a future release of the .NET Framework.

System.Security.Permissions.SecurityAction

RequestRefuse

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.Security.Permissions.SecurityAction

RequestMinimum

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.Security.Permissions.SecurityAction

RequestOptional

Assembly level declarative security is obsolete and is no longer enforced by the CLR by default.

System.Security.Permissions.FileIOPermissionAttribute

All

Please use the FileIOPermissionAttribute.ViewAndModify property instead.

System.Security.Permissions.ReflectionPermissionAttribute

TypeInformation

This API has been deprecated.

System.Security.Permissions.ReflectionPermissionAttribute

ReflectionEmit

This permission is no longer used by the CLR.

System.Security.Permissions.RegistryPermissionAttribute

All

Please use the RegistryPermissionAttribute.ViewAndModify property instead.

System.Security.Permissions.ReflectionPermissionFlag

TypeInformation

This API has been deprecated.

System.Security.Permissions.ReflectionPermissionFlag

AllFlags

This permission has been deprecated. Use PermissionState.Unrestricted to get full access.

System.Security.Permissions.ReflectionPermissionFlag

ReflectionEmit

This permission is no longer used by the CLR.

System.Security.SecurityCriticalAttribute

Scope

System.Security.SecurityCriticalScope is only used for .NET 2.0 transparency compatibility.

System.Security.HostSecurityManagerOptions

HostPolicyLevel

AppDomain policy levels are obsolete and will be removed in a future release of the .NET Framework.

System.Security.HostSecurityManager

DomainPolicy

AppDomain policy levels are obsolete and will be removed in a future release of the .NET Framework.

System.Security.PermissionSet

ConvertPermissionSet

This method is obsolete and should no longer be used.

System.Security.PermissionSet

Deny

Deny is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

SecurityEnabled

Because security can no longer be turned off, the SecurityEnabled property no longer has any effect.

System.Security.SecurityManager

SavePolicy

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

LoadPolicyLevelFromFile

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

ResolvePolicy(Evidence, PermissionSet, PermissionSet, PermissionSet, PermissionSet

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

ResolvePolicy(Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

PolicyHierarchy

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

ResolvePolicy(Evidence[])

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

CheckExecutionRights

Because execution permission checks can no longer be turned off, the CheckExecutionRights property no longer has any effect.

System.Security.SecurityManager

ResolvePolicyGroups

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

IsGranted

IsGranted is obsolete and will be removed in a future release of the .NET Framework. Please use either the AppDomain.PermissionSet or the Assembly.PermissionSet property instead.

System.Security.SecurityManager

LoadPolicyLevelFromString

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

ResolveSystemPolicy

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Security.SecurityManager

SavePolicyLevel

This method is obsolete and will be removed in a future release of the .NET Framework.

System.Runtime.Remoting.Channels.ChannelServices

RegisterChannel

Use ChannelServices.RegisterChannel instead.

System.Runtime.Remoting.Lifetime.LifetimeServices

LifetimeServices

Do not create instances of the LifetimeServices class. Call the static methods directly on this type instead

System.Runtime.Remoting.RemotingConfiguration

Configure(String)

Use RemotingConfiguration.Configure(String, Boolean) instead.

System.Runtime.Remoting.RemotingServices

LogRemotingStage

Use of this method is not recommended. The LogRemotingStage existed for internal diagnostic purposes only.

System.IO.IsolatedStorage.IsolatedStorage

CurrentSize

CurrentSize has been deprecated because it is not CLS Compliant. To get the current size use IsolatedStorage.UsedSize.

System.IO.IsolatedStorage.IsolatedStorage

MaximumSize

MaximumSize has been deprecated because it is not CLS Compliant. To get the maximum size use IsolatedStorage.Quota.

System.IO.IsolatedStorage.IsolatedStorageFileStream

Handle

This property has been deprecated. Please use the IsolatedStorageFileStream.SafeFileHandle property instead.

System.IO.IsolatedStorage.IsolatedStorageFile

CurrentSize

CurrentSize has been deprecated because it is not CLS Compliant. To get the current size use UsedSize.

System.IO.IsolatedStorage.IsolatedStorageFile

MaximumSize

MaximumSize has been deprecated because it is not CLS Compliant. To get the maximum size use IsolatedStorageFile.Quota.

System.Reflection.Emit.ConstructorBuilder

ReturnType

This property has been deprecated.

System.Reflection.Emit.FieldBuilder

SetMarshal

An alternate API is available: Emit the System.Runtime.InteropServices.MarshalAsAttribute custom attribute instead.

System.Reflection.Emit.MethodBuilder

SetMarshal

An alternate API is available: Emit the System.Runtime.InteropServices.MarshalAsAttribute custom attribute instead.

System.Reflection.Emit.OpCodeType

Annotation

This API has been deprecated.

System.Reflection.Emit.OperandType

InlinePhi

This API has been deprecated.

System.Reflection.Emit.FlowControl

Phi

This API has been deprecated.

System.Reflection.Emit.ParameterBuilder

SetMarshal

An alternate API is available: Emit the System.Runtime.InteropServices.MarshalAsAttribute custom attribute instead.

System.Configuration.Assemblies.AssemblyHash

AssemblyHash(AssemblyHashAlgorithm, Byte[])

The System.Configuration.Assemblies.AssemblyHash class has been deprecated.

System.Configuration.Assemblies.AssemblyHash

Algorithm

The System.Configuration.Assemblies.AssemblyHash class has been deprecated.

System.Configuration.Assemblies.AssemblyHash

AssemblyHash(Byte[])

The System.Configuration.Assemblies.AssemblyHash class has been deprecated.

System.Configuration.Assemblies.AssemblyHash

Empty

The System.Configuration.Assemblies.AssemblyHash class has been deprecated.

System.Configuration.Assemblies.AssemblyHash

Clone

The System.Configuration.Assemblies.AssemblyHash class has been deprecated.

System.Configuration.Assemblies.AssemblyHash

SetValue

The System.Configuration.Assemblies.AssemblyHash class has been deprecated.

System.Configuration.Assemblies.AssemblyHash

GetValue

The System.Configuration.Assemblies.AssemblyHash class has been deprecated.

System.Security.Cryptography.PasswordDeriveBytes

GetBytes

System.Security.Cryptography.Rfc2898DeriveBytes replaces System.Security.Cryptography.PasswordDeriveBytes for deriving key material from a password and is preferred in new applications.

System.Security.Cryptography.X509Certificates.X509Certificate

GetIssuerName

This method has been deprecated. Please use the X509Certificate.Issuer property instead.

System.Security.Cryptography.X509Certificates.X509Certificate

GetName

This method has been deprecated. Please use the X509Certificate.Subject property instead.

System.Core.dll

Type

Member

Message

System.Linq.ParallelEnumerable

GroupJoin<TOuter, TInner, TKey, TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Union<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Except<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Zip

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

GroupJoin<TOuter, TInner, TKey, TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, IEnumerable<TInner>, TResult>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Union<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Intersect<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Intersect<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Concat<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

SequenceEqual<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

SequenceEqual<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Join<TOuter, TInner, TKey, TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>, IEqualityComparer<TKey>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Join<TOuter, TInner, TKey, TResult>(ParallelQuery<TOuter>, IEnumerable<TInner>, Func<TOuter, TKey>, Func<TInner, TKey>, Func<TOuter, TInner, TResult>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Linq.ParallelEnumerable

Except<TSource>(ParallelQuery<TSource>, IEnumerable<TSource>, IEqualityComparer<TSource>)

The second data source of a binary operator must be of type System.Linq.ParallelQuery<TSource> rather than System.Collections.Generic.IEnumerable<T>. To fix this problem, use the AsParallel<TSource>(IEnumerable<TSource>) extension method to convert the right data source to System.Linq.ParallelQuery<TSource>.

System.Runtime.CompilerServices.CallSiteOps

GetMatch

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

GetCachedRules<T>(RuleCache<T>)

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

AddRule<T>

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

ClearMatch

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

UpdateRules<T>

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

Bind<T>

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

CreateMatchmaker<T>

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

SetNotMatched

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

GetRules<T>

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

GetRuleCache<T>

Do not use this method.

System.Runtime.CompilerServices.CallSiteOps

MoveRule<T>(RuleCache<T>, T, Int32)

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

ExpandoTryGetValue

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

ExpandoCheckVersion

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

CreateRuntimeVariables(Object[], Int64[])

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

ExpandoPromoteClass

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

ExpandoTryDeleteValue

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

ExpandoTrySetValue

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

Quote

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

MergeRuntimeVariables

Do not use this method.

System.Runtime.CompilerServices.RuntimeOps

CreateRuntimeVariables()

Do not use this method.

System.Data.dll

Type

Member

Message

System.Data.DataSysDescriptionAttribute

DataSysDescriptionAttribute

DataSysDescriptionAttribute has been deprecated.

System.Data.Odbc.OdbcParameterCollection

Add(String, Object)

Add(String, Object) has been deprecated. Use OdbcParameterCollection.AddWithValue(String, Object).

System.Data.Odbc.OdbcPermission

OdbcPermission()

OdbcPermission() has been deprecated. Use the OdbcPermission(PermissionState.None) constructor.

System.Data.Odbc.OdbcPermission

OdbcPermission(PermissionState, Boolean)

OdbcPermission(PermissionState, Boolean) has been deprecated. Use the OdbcPermission(PermissionState.None) constructor.

System.Data.OleDb.OleDbParameterCollection

Add(String, Object)

Add(String, Object) has been deprecated. Use OleDbParameterCollection.AddWithValue).

System.Data.OleDb.OleDbPermission

OleDbPermission()

OleDbPermission() has been deprecated. Use the OleDbPermission(PermissionState.None) constructor.

System.Data.OleDb.OleDbPermission

OleDbPermission(PermissionState, Boolean)

OleDbPermission(PermissionState, Boolean) has been deprecated. Use the OleDbPermission(PermissionState.None) constructor.

System.Data.OleDb.OleDbPermission

Provider

The Provider property has been deprecated. Use the Add method.

System.Data.OleDb.OleDbPermissionAttribute

Provider

The Provider property has been deprecated. Use the Add method.

System.Data.SqlClient.SqlClientPermission

SqlClientPermission()

SqlClientPermission() has been deprecated. Use the SqlClientPermission(PermissionState.None) constructor.

System.Data.SqlClient.SqlClientPermission

SqlClientPermission(PermissionState, Boolean)

SqlClientPermission(PermissionState, Boolean) has been deprecated. Use the SqlClientPermission(PermissionState.None) constructor.

System.Data.SqlClient.SqlConnectionStringBuilder

ConnectionReset

ConnectionReset has been deprecated. System.Data.SqlClient.SqlConnection will ignore the 'connection reset' keyword and always reset the connection.

System.Data.SqlClient.SqlParameterCollection

Add(String, Object)

Add(String, Object) has been deprecated. Use SqlParameterCollection.AddWithValue).

System.Data.Entity.dll

Type

Member

Message

System.Data.Metadata.Edm.AssociationSetEnd

Role

This property is going away, please use the AssociationSetEnd.Name property instead.

System.Data.Objects.ObjectContext

ApplyPropertyChanges

Use ObjectContext.ApplyCurrentValues<TEntity> instead.

System.Data.Objects.ObjectContext

SaveChanges(Boolean)

Use SaveChanges(SaveOptions) instead.

System.Data.OracleClient.dll

Type

Member

Message

System.Data.OracleClient.OracleParameter

Scale

Scale has been deprecated. Use the System.Math classes to explicitly set the scale of a decimal.

System.Data.OracleClient.OracleParameter

Precision

Precision has been deprecated. Use the System.Math classes to explicitly set the precision of a decimal.

System.Data.OracleClient.OracleParameterCollection

Add(String, Object)

Add(String, Object) has been deprecated. Use OracleParameterCollection.AddWithValue).

System.Design.dll

Type

Member

Message

System.ComponentModel.Design.ComponentDesigner

OnSetComponentDefaults

This method has been deprecated. Use ComponentDesigner.InitializeNewComponent instead.

System.ComponentModel.Design.ComponentDesigner

InitializeNonDefault

This method has been deprecated. Use ComponentDesigner.InitializeExistingComponent instead.

System.Windows.Forms.Design.ControlDesigner

OnSetComponentDefaults

This method has been deprecated. Use ControlDesigner.InitializeNewComponent instead.

System.Web.UI.Design.HtmlControlDesigner

ShouldCodeSerialize

Use of this property is not recommended because code serialization is not supported.

System.Web.UI.Design.HtmlControlDesigner

Behavior

The recommended alternative is ControlDesigner.Tag.

System.Web.UI.Design.ControlDesigner

ReadOnly

The recommended alternative is to inherit from System.Web.UI.Design.ContainerControlDesigner instead and to use an System.Web.UI.Design.EditableDesignerRegion. Regions allow for better control of the content in the designer.

System.Web.UI.Design.ControlDesigner

IsPropertyBound

The recommended alternative is System.Web.UI.Design.ControlDesigner.DataBindings.Contains. The System.Web.UI.DataBindingCollection class allows more control of the data bindings associated with the control.

System.Web.UI.Design.ControlDesigner

DesignTimeHtmlRequiresLoadComplete

The recommended alternative is ControlDesigner.SetViewFlags.

System.Web.UI.Design.ControlDesigner

IsDirty

The recommended alternative is to use System.Web.UI.Design.ControlDesigner.Tag.SetDirty and System.Web.UI.Design.ControlDesigner.Tag.IsDirty.

System.Web.UI.Design.ControlDesigner

RaiseResizeEvent

Use of this method is not recommended because resizing is handled by the ControlDesigner.OnComponentChanged method.

System.Web.UI.Design.ControlDesigner

GetPersistInnerHtml

The recommended alternative is ControlDesigner.GetPersistenceContent.

System.Web.UI.Design.TemplatedControlDesigner

GetTemplateContainerDataSource

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing, expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.TemplatedControlDesigner

InTemplateMode

The recommended alternative is ControlDesigner.InTemplateMode.

System.Web.UI.Design.TemplatedControlDesigner

GetTemplateEditingVerbs

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.TemplatedControlDesigner

ActiveTemplateEditingFrame

Use of this property is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.TemplatedControlDesigner

GetTemplateContent

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.TemplatedControlDesigner

GetTemplateContainerDataItemProperty

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.TemplatedControlDesigner

EnterTemplateMode

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.TemplatedControlDesigner

ExitTemplateMode

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.TemplatedControlDesigner

SetTemplateContent

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.TemplatedControlDesigner

GetTemplatePropertyParentType

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.WebControls.BaseDataListDesigner

GetTemplateContainerDataSource

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing, expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.WebControls.DataGridDesigner

GetTemplateContainerDataItemProperty

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.WebControls.DataGridDesigner

SetTemplateContent

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.WebControls.DataGridDesigner

GetTemplatePropertyParentType

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.WebControls.DataGridDesigner

GetTemplateContent

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.WebControls.DataListDesigner

GetTemplateContent

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.WebControls.DataListDesigner

GetTemplateContainerDataItemProperty

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.Web.UI.Design.WebControls.DataListDesigner

SetTemplateContent

Use of this method is not recommended because template editing is handled in System.Web.UI.Design.ControlDesigner. To support template editing expose template data in the ControlDesigner.TemplateGroups property and call ControlDesigner.SetViewFlags(ViewFlags.TemplateEditing, true).

System.dll

Type

Member

Message

System.ComponentModel.TypeDescriptor

ComNativeDescriptorHandler

This property has been deprecated. Use a type description provider to supply type information for COM types instead.

System.ComponentModel.Design.DesignerTransactionCloseEventArgs

DesignerTransactionCloseEventArgs(Boolean)

This constructor is obsolete. Use DesignerTransactionCloseEventArgs(Boolean, Boolean) instead.

System.ComponentModel.Design.SelectionTypes

MouseDown

This value has been deprecated. It is no longer supported.

System.ComponentModel.Design.SelectionTypes

Normal

This value has been deprecated. Use SelectionTypes.Auto instead.

System.ComponentModel.Design.SelectionTypes

Valid

This value has been deprecated. Use System.Enum class methods to determine valid values, or use a type converter.

System.ComponentModel.Design.SelectionTypes

MouseUp

This value has been deprecated. It is no longer supported.

System.ComponentModel.Design.SelectionTypes

Click

This value has been deprecated. Use SelectionTypes.Primary instead.

System.ComponentModel.Design.ViewTechnology

WindowsForms

This value has been deprecated. Use ViewTechnology.Default instead.

System.ComponentModel.Design.ViewTechnology

Passthrough

This value has been deprecated. Use ViewTechnology.Default instead.

System.CodeDom.Compiler.CodeDomProvider

CreateGenerator()

Callers should not use the System.CodeDom.Compiler.ICodeGenerator interface and should instead use the methods directly on the System.CodeDom.Compiler.CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method.

System.CodeDom.Compiler.CodeDomProvider

CreateCompiler

Callers should not use the System.CodeDom.Compiler.ICodeCompiler interface and should instead use the methods directly on the System.CodeDom.Compiler.CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method.

System.CodeDom.Compiler.CodeDomProvider

CreateParser

Callers should not use the System.CodeDom.Compiler.ICodeParser interface and should instead use the methods directly on the System.CodeDom.Compiler.CodeDomProvider class. Those inheriting from CodeDomProvider must still implement this interface, and should exclude this warning or also obsolete this method.

System.CodeDom.Compiler.CompilerParameters

Evidence

CAS policy is obsolete and will be removed in a future release of the .NET Framework. Please see Security Changes in the .NET Framework 4 for more information.

System.CodeDom.Compiler.CompilerResults

Evidence

CAS policy is obsolete and will be removed in a future release of the .NET Framework. Please see Security Changes in the .NET Framework 4 for more information.

System.Collections.Specialized.NameValueCollection

NameValueCollection(IHashCodeProvider, IComparer)

Please use NameValueCollection(IEqualityComparer) instead.

System.Collections.Specialized.NameValueCollection

NameValueCollection(Int32, IHashCodeProvider, IComparer)

Please use NameValueCollection(Int32, IEqualityComparer) instead.

Microsoft.Win32.SystemEvents

LowMemory

This event has been deprecated.

Microsoft.CSharp.CSharpCodeProvider

CreateGenerator

Callers should not use the System.CodeDom.Compiler.ICodeGenerator interface and should instead use the methods directly on the System.CodeDom.Compiler.CodeDomProvider class.

Microsoft.CSharp.CSharpCodeProvider

CreateCompiler

Callers should not use the System.CodeDom.Compiler.ICodeCompiler interface and should instead use the methods directly on the System.CodeDom.Compiler.CodeDomProvider class.

Microsoft.VisualBasic.VBCodeProvider

CreateGenerator

Callers should not use the System.CodeDom.Compiler.ICodeGenerator interface and should instead use the methods directly on the System.CodeDom.Compiler.CodeDomProvider class.

Microsoft.VisualBasic.VBCodeProvider

CreateCompiler

Callers should not use the System.CodeDom.Compiler.ICodeCompiler interface and should instead use the methods directly on the System.CodeDom.Compiler.CodeDomProvider class.

System.Uri

MakeRelative

The method has been deprecated. Please use Uri.MakeRelativeUri.

System.Uri

Uri(String, Boolean)

The constructor has been deprecated. Please use Uri(String). The dontEscape parameter is deprecated and is always false.

System.Uri

Uri(Uri, String, Boolean)

The constructor has been deprecated. Please Uri(Uri, String). The dontEscape parameter is deprecated and is always false.

System.Net.Dns

GetHostByAddress(String)

GetHostByAddress(String) is obsoleted for this type, please use Dns.GetHostEntry(String) instead.

System.Net.Dns

GetHostByAddress(IPAddress)

GetHostByAddress(IPAddress) is obsoleted for this type, please use Dns.GetHostEntry(IPAddress) instead.

System.Net.Dns

GetHostByName

GetHostByName is obsoleted for this type, please use Dns.GetHostEntry(String) instead.

System.Net.Dns

BeginResolve(String, AsyncCallback, Object)

BeginResolve(String, AsyncCallback, Object) is obsoleted for this type, please use Dns.BeginGetHostEntry(String, AsyncCallback, Object) instead.

System.Net.Dns

EndResolve

EndResolve is obsoleted for this type, please use Dns.EndGetHostEntry instead.

System.Net.Dns

Resolve

Resolve is obsoleted for this type, please use Dns.GetHostEntry(String) instead.

System.Net.Dns

BeginGetHostByName

BeginGetHostByName is obsoleted for this type, please use Dns.BeginGetHostEntry(String, AsyncCallback, Object) instead.

System.Net.Dns

EndGetHostByName

EndGetHostByName is obsoleted for this type, please use Dns.EndGetHostEntry instead.

System.Net.IPAddress

Address

This property has been deprecated. It is address family dependent. Please use the IPAddress.Equals method to perform comparisons.

System.Net.ServicePointManager

CertificatePolicy

CertificatePolicy is obsoleted for this type, please use ServicePointManager.ServerCertificateValidationCallback instead.

System.Net.WebProxy

GetDefaultProxy

This method has been deprecated. Please use the proxy selected for you by default.

System.Net.Sockets.Socket

SupportsIPv6

SupportsIPv6 is obsoleted for this type, please use Socket.OSSupportsIPv6 instead.

System.Net.Sockets.Socket

SupportsIPv4

SupportsIPv4 is obsoleted for this type, please use Socket.OSSupportsIPv4 instead.

System.Net.Sockets.TcpListener

TcpListener(Int32)

This method has been deprecated. Please use TcpListener(IPAddress, Int32) instead.

System.Net.Mail.MailMessage

ReplyTo

ReplyTo is obsoleted for this type. Please use MailMessage.ReplyToList instead which can accept multiple addresses.

System.Configuration.ConfigurationException

ConfigurationException(String, Exception)

This class is obsolete. to create a new exception create a System.Configuration.ConfigurationErrorsException.

System.Configuration.ConfigurationException

ConfigurationException()

This class is obsolete, to create a new exception create a System.Configuration.ConfigurationErrorsException.

System.Configuration.ConfigurationException

GetXmlNodeLineNumber

This class is obsolete, use GetLineNumber(XmlNode) instead

System.Configuration.ConfigurationException

ConfigurationException(String, String, Int32)

This class is obsolete, to create a new exception create a System.Configuration.ConfigurationErrorsException.

System.Configuration.ConfigurationException

ConfigurationException(String)

This class is obsolete, to create a new exception create a System.Configuration.ConfigurationErrorsException.

System.Configuration.ConfigurationException

ConfigurationException(String, Exception, String, Int32)

This class is obsolete, to create a new exception create a System.Configuration.ConfigurationErrorsException.

System.Configuration.ConfigurationException

ConfigurationException(String, XmlNode)

This class is obsolete, to create a new exception create a System.Configuration.ConfigurationErrorsException.

System.Configuration.ConfigurationException

ConfigurationException(String, Exception, XmlNode)

This class is obsolete, to create a new exception create a System.Configuration.ConfigurationErrorsException.

System.Configuration.ConfigurationException

GetXmlNodeFilename

This class is obsolete, use ConfigurationErrorsException.GetFilename instead.

System.Configuration.ConfigurationSettings

AppSettings

This method is obsolete. It has been replaced by ConfigurationManager.AppSettings.

System.Configuration.ConfigurationSettings

GetConfig

This method is obsolete. It has been replaced by ConfigurationManager.GetSection.

System.Diagnostics.EventLog

CreateEventSource(String, String, String)

This method has been deprecated. Please use CreateEventSource(EventSourceCreationData) instead.

System.Diagnostics.EventLogEntry

EventID

This property has been deprecated. Please use EventLogEntry.InstanceId instead.

System.Diagnostics.EventLogPermissionAccess

Audit

This member has been deprecated. Please use EventLogPermissionAccess.Administer instead.

System.Diagnostics.EventLogPermissionAccess

Browse

This member has been deprecated. Please use EventLogPermissionAccess.Administer instead.

System.Diagnostics.EventLogPermissionAccess

Instrument

This member has been deprecated. Please use EventLogPermissionAccess.Write instead.

System.Diagnostics.InstanceDataCollection

InstanceDataCollection

This constructor has been deprecated. Please use InstanceDataCollectionCollection.Item to get an instance of this collection instead.

System.Diagnostics.InstanceDataCollectionCollection

InstanceDataCollectionCollection

This constructor has been deprecated. Please use PerformanceCounterCategory.ReadCategory to get an instance of this collection instead.

System.Diagnostics.PerformanceCounter

DefaultFileMappingSize

This field has been deprecated and is not used. Use machine.config or an application configuration file to set the size of the System.Diagnostics.PerformanceCounter file mapping.

System.Diagnostics.PerformanceCounterCategory

Create(String, String, String, String)

This method has been deprecated. Please use Create(String, String, PerformanceCounterCategoryType, String, String) instead.

System.Diagnostics.PerformanceCounterCategory

Create(String, String, CounterCreationDataCollection)

This method has been deprecated. Please use Create(String, String, PerformanceCounterCategoryType, CounterCreationDataCollection) instead.

System.Diagnostics.PerformanceCounterManager

PerformanceCounterManager

This class has been deprecated. Use the performance counters through the System.Diagnostics.PerformanceCounter class instead.

System.Diagnostics.PerformanceCounterPermissionAccess

Instrument

This member has been deprecated. Use PerformanceCounterPermissionAccess.Write instead.

System.Diagnostics.PerformanceCounterPermissionAccess

Browse

This member has been deprecated. Use PerformanceCounterPermissionAccess.Read instead.

System.Diagnostics.Process

WorkingSet

This property has been deprecated. Please use Process.WorkingSet64 instead.

System.Diagnostics.Process

VirtualMemorySize

This property has been deprecated. Please use Process.VirtualMemorySize64 instead.

System.Diagnostics.Process

PeakPagedMemorySize

This property has been deprecated. Please use Process.PeakPagedMemorySize64 instead.

System.Diagnostics.Process

PrivateMemorySize

This property has been deprecated. Please use Process.PrivateMemorySize64 instead.

System.Diagnostics.Process

PagedSystemMemorySize

This property has been deprecated. Please use Process.PagedSystemMemorySize64 instead.

System.Diagnostics.Process

NonpagedSystemMemorySize

This property has been deprecated. Please use Process.NonpagedSystemMemorySize64 instead.

System.Diagnostics.Process

PeakVirtualMemorySize

This property has been deprecated. Please use Process.PeakVirtualMemorySize64 instead.

System.Diagnostics.Process

PeakWorkingSet

This property has been deprecated. Please use Process.PeakWorkingSet64 instead.

System.Diagnostics.Process

PagedMemorySize

This property has been deprecated. Please use PagedMemorySize64 instead.

System.Drawing.dll

Type

Member

Message

System.Drawing.FontFamily

GetFamilies

Do not use the GetFamilies method; use the FontFamily.Families property instead.

System.Messaging.dll

Type

Member

Message

System.Messaging.MessageQueue

GetEnumerator

This method returns a System.Messaging.MessageEnumerator that implements the MessageEnumerator.RemoveCurrent family of methods incorrectly. Please use MessageQueue.GetMessageEnumerator2 instead.

System.Messaging.MessageQueue

GetMessageEnumerator

This method returns a System.Messaging.MessageEnumerator that implements the MessageEnumerator.RemoveCurrent family of methods incorrectly. Please use MessageQueue.GetMessageEnumerator2 instead.

System.ServiceModel.dll

Type

Member

Message

System.ServiceModel.Security.WindowsClientCredential

AllowNtlm

This property is deprecated and is maintained for backward compatibility only. The local machine policy will be used to determine if NTLM should be used.

System.Web.DataVisualization.dll

Type

Member

Message

System.Web.UI.DataVisualization.Charting.Chart

ViewStateData

ViewStateData has been deprecated. Please investigate Control.ViewState instead.

System.Web.dll

Type

Member

Message

System.Web.Configuration.AuthenticationMode

Passport

This field is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.

System.Web.Configuration.AuthenticationSection

Passport

This property is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.

System.Web.Configuration.HttpCapabilitiesBase

JavaScript

The recommended alternative is the HttpCapabilitiesBase.EcmaScriptVersion property. A Version.Major version value greater than or equal to 1 implies JavaScript support.

System.Web.Configuration.SystemWebSectionGroup

MobileControls

System.Web.Mobile.dll is obsolete.

System.Web.HttpContext

GetAppConfig

The recommended alternative is WebConfigurationManager.GetWebApplicationSection in System.Web.dll.

System.Web.HttpContext

GetConfig

The recommended alternative is HttpContext.GetSection in System.Web.dll.

System.Web.UI.Page

RegisterOnSubmitStatement

The recommended alternative is Page.ClientScript.RegisterOnSubmitStatement(Type type, String key, String script).

System.Web.UI.Page

RegisterArrayDeclaration

The recommended alternative is Page.ClientScript.RegisterArrayDeclaration(String arrayName, String arrayValue).

System.Web.UI.Page

GetPostBackClientEvent

The recommended alternative is Page.ClientScript.GetPostBackEventReference.

System.Web.UI.Page

GetPostBackClientHyperlink

The recommended alternative is Page.ClientScript.GetPostBackClientHyperlink.

System.Web.UI.Page

IsStartupScriptRegistered

The recommended alternative is Page.ClientScript.IsStartupScriptRegistered(String key).

System.Web.UI.Page

RegisterHiddenField

The recommended alternative is Page.ClientScript.RegisterHiddenField(String hiddenFieldName, String hiddenFieldInitialValue).

System.Web.UI.Page

RegisterClientScriptBlock

The recommended alternative is PageClientScript.RegisterClientScriptBlock(Type type, String key, String script).

System.Web.UI.Page

SmartNavigation

The recommended alternative is Page.SetFocus and PageMaintainScrollPositionOnPostback().

System.Web.UI.Page

GetPostBackEventReference(Control)

The recommended alternative is Page.ClientScript.GetPostBackEventReference.

System.Web.UI.Page

RegisterStartupScript

The recommended alternative is Page.ClientScript.RegisterStartupScript(Type type, String key, String script).

System.Web.UI.Page

IsClientScriptBlockRegistered

The recommended alternative is Page.ClientScript.IsClientScriptBlockRegistered(String key).

System.Web.UI.Page

GetPostBackEventReference(Control, String)

The recommended alternative is Page.ClientScript.GetPostBackEventReference.

System.Web.UI.WebControls.Xml

Document

The recommended alternative is the Xml.XPathNavigator property. Create a System.Xml.XPath.XPathDocument and call XPathDocument.CreateNavigator to create an System.Xml.XPath.XPathNavigator.

System.Web.DynamicData.dll

Type

Member

Message

System.Web.DynamicData.DynamicDataExtensions

EnablePersistedSelection

Use the EnablePersistedSelection property on a databound control such as System.Web.UI.WebControls.GridView or System.Web.UI.WebControls.ListView.

System.Web.Extensions.dll

Type

Member

Message

System.Web.UI.ScriptReferenceBase

NotifyScriptLoaded

NotifyScriptLoaded is no longer required in script references.

System.Web.UI.ScriptManager

ScriptPath

This property is obsolete. Set the Path property on each individual System.Web.UI.ScriptReference instead.

System.Web.UI.ScriptReference

IgnoreScriptPath

This property is obsolete. Instead of using ScriptManager.ScriptPath, set the Path property on each individual System.Web.UI.ScriptReference.

System.Web.UI.ScriptResourceAttribute

TypeName

This property is obsolete. Use ScriptResourceAttribute.StringResourceClientTypeName instead.

System.Web.UI.ScriptResourceAttribute

ScriptResourceName

This property is obsolete. Use ScriptResourceAttribute.StringResourceName instead.

System.Web.Services.dll

Type

Member

Message

System.Web.Services.Protocols.SoapHeaderAttribute

Required

This property will be removed from a future version. The presence of a particular header in a SOAP message is no longer enforced.

System.Web.Services.Discovery.DiscoveryClientProtocol

LoadExternals

This method will be removed from a future version. The method call is no longer required for resource discovery.

System.Windows.Forms.dll

Type

Member

Message

System.Windows.Forms.AccessibleStates

Valid

This enumeration value has been deprecated. There is no replacement.

System.Windows.Forms.Control

Scale(Single)

This method has been deprecated. Use the Control.Scale(SizeF) method instead.

System.Windows.Forms.Control

Scale(Single, Single)

This method has been deprecated. Use the Control.Scale(SizeF) method instead.

System.Windows.Forms.Form

GetAutoScaleSize

This method has been deprecated. Use the ContainerControl.AutoScaleDimensions property instead.

System.Windows.Forms.Form

AutoScale

This property has been deprecated. Use the ContainerControl.AutoScaleMode property instead.

System.Windows.Forms.PrintPreviewDialog

AutoScaleBaseSize

This property has been deprecated. Use the ContainerControl.AutoScaleDimensions property instead.

System.Xaml.dll

Type

Member

Message

System.Windows.Markup.MarkupExtensionReturnTypeAttribute

MarkupExtensionReturnTypeAttribute(Type, Type)

The expressionType argument is not used by the XAML parser. To specify the expected return type, use MarkupExtensionReturnTypeAttribute.MarkupExtensionReturnTypeAttribute(Type). To specify custom handling for expression types, use System.Windows.Markup.XamlSetMarkupExtensionAttribute.

System.Windows.Markup.MarkupExtensionReturnTypeAttribute

ExpressionType

This is not used by the XAML parser. Please look at System.Windows.Markup.XamlSetMarkupExtensionAttribute.

System.Xml.dll

Type

Member

Message

System.Xml.XmlConvert

ToDateTime(String)

Use XmlConvert.ToDateTime(String, XmlDateTimeSerializationMode).

System.Xml.XmlConvert

ToString(DateTime)

Use XmlConvert.ToString(DateTime, XmlDateTimeSerializationMode).

System.Xml.ValidationType

Auto

Validation type should be specified as ValidationType.DTD or ValidationType.Schema.

System.Xml.ValidationType

ValidationType.XDR

XDR Validation through System.Xml.XmlValidatingReader is obsoleted.

System.Xml.XmlReaderSettings

ProhibitDtd

Use the XmlReaderSettings.DtdProcessing property instead.

System.Xml.XmlTextReader

ProhibitDtd

Use the XmlTextReader.DtdProcessing property instead.

System.Xml.Schema.XmlSchema

Compile(ValidationEventHandler)

Use XmlSchemaSet for schema compilation and validation.

System.Xml.Schema.XmlSchema

Compile(ValidationEventHandler, XmlResolver)

Use XmlSchemaSet for schema compilation and validation.

System.Xml.Schema.XmlSchemaAttribute

AttributeType

This property has been deprecated. Please use XmlSchemaAttribute.AttributeSchemaType property, which returns a strongly typed attribute type.

System.Xml.Schema.XmlSchemaType

BaseSchemaType

This property has been deprecated. Please use the XmlSchemaType.BaseXmlSchemaType property, which returns a strongly typed base schema type.

System.Xml.Schema.XmlSchemaElement

ElementType

This property has been deprecated. Please use the XmlSchemaElement.ElementSchemaType property, which returns a strongly typed element type.

System.Xml.Serialization.CodeIdentifier

CodeIdentifier

This class should never get constructed as it contains only static methods.

System.Xml.Serialization.XmlSerializer

FromMappings(XmlMapping[], Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of XmlSerializer.FromMappings that does not take an System.Security.Policy.Evidence parameter.

System.Xml.Serialization.XmlSerializer

XmlSerializer(Type, XmlAttributeOverrides, Type[], XmlRootAttribute, String, String, Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an XmlSerializer.XmlSerializer constructor overload that does not take an System.Security.Policy.Evidence parameter.

System.Xml.Serialization.XmlSerializerFactory

CreateSerializer(Type, XmlAttributeOverrides, Type[], XmlRootAttribute, String, String, Evidence)

This method is obsolete and will be removed in a future release of the .NET Framework. Please use an overload of XmlSerializerFactory.CreateSerializer that does not take an System.Security.Policy.Evidence parameter.

Obsolete Members in Microsoft Assemblies

The following tables list the obsolete members in Microsoft assemblies. These assemblies are special-purpose assemblies such as assemblies that target an individual language (such as Microsoft.VisualBasic.dll) or a build system (such as Microsoft.Build.Engine.dll).

IEHost.dll and IEExec.exe

The IEHost.dll and IEExec.exe assemblies have been removed from the .NET Framework. All of their types and their members are obsolete and are not supported as of .NET Framework 4. These assemblies were used to host Windows Forms controls and to run executables in Internet Explorer. Alternatives to this technology include ClickOnce, XAML Browser Applications (XBAP), and Microsoft Silverlight.

ISymWrapper.dll

Type

Member

Message

System.Diagnostics.SymbolStore.SymBinder

GetReader(Int32, String, String)

The recommended alternative is SymBinder.GetReader(IntPtr, String, String). ISymbolBinder1.GetReader takes the importer interface pointer as an System.IntPtr instead of an System.Int32, and thus works on both 32-bit and 64-bit architectures.

Microsoft.Build.Conversion.v4.0.dll

Type

Member

Message

Microsoft.Build.Conversion.ProjectFileConverter

ConvertInMemory(Engine, ProjectLoadSettings)

Use parameterless ProjectFileConverter.ConvertInMemory() method instead.

Microsoft.Build.Conversion.ProjectFileConverter

ConvertInMemory(Engine)

Use parameterless ProjectFileConverter.ConvertInMemory() method instead.

Microsoft.Build.Conversion.ProjectFileConverter

Convert(String)

Use parameterless Convert() overload instead.

Microsoft.Build.Conversion.ProjectFileConverter

Convert(ProjectLoadSettings)

Use parameterless Convert() overload instead.

Microsoft.Build.Engine.dll

Type

Member

Message

Microsoft.Build.BuildEngine.Engine

Engine(String)

If you were simply passing in the .NET Framework location as the BinPath, just change to the parameterless Engine() constructor. Otherwise, you can define custom toolsets in the registry or config file, or by adding elements to the Engine's Microsoft.Build.BuildEngine.ToolsetCollection. Then use either the Engine() or Engine(ToolsetLocations) constructor instead.

Microsoft.Build.BuildEngine.Engine

BinPath

Avoid setting BinPath. If you were simply passing in the .NET Framework location as the BinPath, no other action is necessary. Otherwise, define Toolsets instead in the registry or config file, or by adding elements to the Engine's Microsoft.Build.BuildEngine.ToolsetCollection, in order to use a custom BinPath.

Microsoft.VisualBasic.dll

Type

Member

Message

Microsoft.VisualBasic.FileSystem

FilePut(Object, Object, Object)

This member has been deprecated. Please use FileSystem.FilePutObject to write Object types, or coerce FileNumber and RecordNumber to Int32 for writing non-object types.

Microsoft.VisualBasic.CompilerServices.Conversions

FallbackUserDefinedConversion

Do not use this method.

Microsoft.VisualBasic.CompilerServices.NewLateBinding

FallbackSetComplex

Do not use this method.

Microsoft.VisualBasic.CompilerServices.NewLateBinding

FallbackInvokeDefault1

Do not use this method.

Microsoft.VisualBasic.CompilerServices.NewLateBinding

FallbackGet

Do not use this method.

Microsoft.VisualBasic.CompilerServices.NewLateBinding

FallbackInvokeDefault2

Do not use this method.

Microsoft.VisualBasic.CompilerServices.NewLateBinding

FallbackIndexSet

Do not use this method.

Microsoft.VisualBasic.CompilerServices.NewLateBinding

FallbackSet

Do not use this method.

Microsoft.VisualBasic.CompilerServices.NewLateBinding

FallbackIndexSetComplex

Do not use this method.

Microsoft.VisualBasic.CompilerServices.NewLateBinding

FallbackCall

Do not use this method.

Microsoft.VisualBasic.CompilerServices.Operators

FallbackInvokeUserDefinedOperator

Do not use this method.

Microsoft.VisualBasic.MyServices.RegistryProxy

DynData

The DynData registry key works only on Win9x, which is not supported by this version of the .NET Framework. Use the PerformanceData registry key instead. This property will be removed from a future version of the Framework.

See Also

Concepts

Obsolete Types in the .NET Framework 4

Other Resources

What's Obsolete in the .NET Framework