Xamarin.WatchOS SDK API diff: 12.10.0 vs 12.16.0

MonoTouch.NUnitLite.dll

Namespace MonoTouch.NUnit

Type Changed: MonoTouch.NUnit.NUnitOutputTextWriter

Added interface:

System.IAsyncDisposable

Type Changed: MonoTouch.NUnit.TcpTextWriter

Added interface:

System.IAsyncDisposable

Namespace NUnit.Framework.Api

Type Changed: NUnit.Framework.Api.ResultState

Added method:

public override bool Equals (object o);

Namespace NUnit.Framework.Constraints

Type Changed: NUnit.Framework.Constraints.MessageWriter

Added interface:

System.IAsyncDisposable

Namespace NUnit.Framework.Internal

Type Changed: NUnit.Framework.Internal.Test

Modified fields:

-[NonSerialized]
++[NonSerialized]
-protected System.Reflection.MethodInfo[] setUpMethods;
++protected System.Reflection.MethodInfo[] setUpMethods;
-[NonSerialized]
++[NonSerialized]
-protected System.Reflection.MethodInfo[] tearDownMethods;
++protected System.Reflection.MethodInfo[] tearDownMethods;

Type Changed: NUnit.Framework.Internal.TextMessageWriter

Added interface:

System.IAsyncDisposable

Namespace NUnitLite.Runner

Type Changed: NUnitLite.Runner.CommandLineOptions

Added properties:

public string Android { get; }
public string Remote { get; }
public string WebAssembly { get; }
public string iOS { get; }

Type Changed: NUnitLite.Runner.ConsoleWriter

Added interface:

System.IAsyncDisposable

Type Changed: NUnitLite.Runner.DebugWriter

Added interface:

System.IAsyncDisposable

mscorlib.dll

Namespace System

Type Changed: System.AppDomain

Added methods:

public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access);
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence);
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir);
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes, Security.SecurityContextSource securityContextSource);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, bool isSynchronized, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized);

[Obsolete ("Declarative security for assembly level is no longer enforced")]
public Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized, System.Collections.Generic.IEnumerable<Reflection.Emit.CustomAttributeBuilder> assemblyAttributes);

Type Changed: System.AppDomainSetup

Added properties:

public string AppDomainManagerAssembly { get; set; }
public string AppDomainManagerType { get; set; }
public string[] PartialTrustVisibleAssemblies { get; set; }

Type Changed: System.BitConverter

Added methods:

public static bool ToBoolean (System.ReadOnlySpan<byte> value);
public static char ToChar (System.ReadOnlySpan<byte> value);
public static double ToDouble (System.ReadOnlySpan<byte> value);
public static short ToInt16 (System.ReadOnlySpan<byte> value);
public static long ToInt64 (System.ReadOnlySpan<byte> value);
public static float ToSingle (System.ReadOnlySpan<byte> value);
public static ushort ToUInt16 (System.ReadOnlySpan<byte> value);
public static bool TryWriteBytes (System.Span<byte> destination, bool value);
public static bool TryWriteBytes (System.Span<byte> destination, char value);
public static bool TryWriteBytes (System.Span<byte> destination, double value);
public static bool TryWriteBytes (System.Span<byte> destination, short value);
public static bool TryWriteBytes (System.Span<byte> destination, int value);
public static bool TryWriteBytes (System.Span<byte> destination, long value);
public static bool TryWriteBytes (System.Span<byte> destination, float value);
public static bool TryWriteBytes (System.Span<byte> destination, ushort value);
public static bool TryWriteBytes (System.Span<byte> destination, uint value);
public static bool TryWriteBytes (System.Span<byte> destination, ulong value);

Type Changed: System.DateTime

Added field:

public static DateTime UnixEpoch;

Added methods:

public static DateTime Parse (System.ReadOnlySpan<char> s, IFormatProvider provider, Globalization.DateTimeStyles styles);
public static DateTime ParseExact (System.ReadOnlySpan<char> s, System.ReadOnlySpan<char> format, IFormatProvider provider, Globalization.DateTimeStyles style);
public static DateTime ParseExact (System.ReadOnlySpan<char> s, string[] formats, IFormatProvider provider, Globalization.DateTimeStyles style);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider provider);
public static bool TryParse (System.ReadOnlySpan<char> s, out DateTime result);
public static bool TryParse (System.ReadOnlySpan<char> s, IFormatProvider provider, Globalization.DateTimeStyles styles, out DateTime result);
public static bool TryParseExact (System.ReadOnlySpan<char> s, System.ReadOnlySpan<char> format, IFormatProvider provider, Globalization.DateTimeStyles style, out DateTime result);
public static bool TryParseExact (System.ReadOnlySpan<char> s, string[] formats, IFormatProvider provider, Globalization.DateTimeStyles style, out DateTime result);

Type Changed: System.DateTimeOffset

Added field:

public static DateTimeOffset UnixEpoch;

Added methods:

public static DateTimeOffset Parse (System.ReadOnlySpan<char> input, IFormatProvider formatProvider, Globalization.DateTimeStyles styles);
public static DateTimeOffset ParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, Globalization.DateTimeStyles styles);
public static DateTimeOffset ParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, Globalization.DateTimeStyles styles);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider formatProvider);
public static bool TryParse (System.ReadOnlySpan<char> input, out DateTimeOffset result);
public static bool TryParse (System.ReadOnlySpan<char> input, IFormatProvider formatProvider, Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, Globalization.DateTimeStyles styles, out DateTimeOffset result);

Type Changed: System.Decimal

Modified methods:

-public Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style = 7, IFormatProvider provider = NULL)
+public Decimal Parse (System.ReadOnlySpan<char> s, Globalization.NumberStyles style = 111, IFormatProvider provider = NULL)

Type Changed: System.Enum

Added methods:

public static TEnum Parse<TEnum> (string value);
public static TEnum Parse<TEnum> (string value, bool ignoreCase);
public static bool TryParse (Type enumType, string value, out object result);
public static bool TryParse (Type enumType, string value, bool ignoreCase, out object result);

Type Changed: System.GC

Added method:

public static long GetAllocatedBytesForCurrentThread ();

Type Changed: System.IntPtr

Added interface:

System.IEquatable<IntPtr>

Type Changed: System.Math

Added methods:

public static double Acosh (double d);
public static double Asinh (double d);
public static double Atanh (double d);
public static double Cbrt (double d);

Type Changed: System.MemoryExtensions

Added methods:

public static System.ReadOnlyMemory<char> AsMemory (this string text, Index startIndex);
public static System.ReadOnlyMemory<char> AsMemory (this string text, Range range);
public static System.Memory<T> AsMemory<T> (this T[] array, Index startIndex);
public static System.Memory<T> AsMemory<T> (this T[] array, Range range);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, Index startIndex);
public static System.Span<T> AsSpan<T> (this System.ArraySegment<T> segment, Range range);
public static System.Span<T> AsSpan<T> (this T[] array, Index startIndex);
public static System.Span<T> AsSpan<T> (this T[] array, Range range);

Type Changed: System.Memory`1

Added interface:

System.IEquatable<System.Memory<T>>

Type Changed: System.Random

Added method:

public virtual void NextBytes (System.Span<byte> buffer);

Type Changed: System.ReadOnlyMemory`1

Added interface:

System.IEquatable<System.ReadOnlyMemory<T>>

Type Changed: System.StringComparer

Added method:

public static StringComparer Create (Globalization.CultureInfo culture, Globalization.CompareOptions options);

Type Changed: System.TimeSpan

Added methods:

public TimeSpan Divide (double divisor);
public double Divide (TimeSpan ts);
public TimeSpan Multiply (double factor);
public static TimeSpan Parse (System.ReadOnlySpan<char> input, IFormatProvider formatProvider);
public static TimeSpan ParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, Globalization.TimeSpanStyles styles);
public static TimeSpan ParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, Globalization.TimeSpanStyles styles);
public virtual bool TryFormat (System.Span<char> destination, out int charsWritten, System.ReadOnlySpan<char> format, IFormatProvider formatProvider);
public static bool TryParse (System.ReadOnlySpan<char> s, out TimeSpan result);
public static bool TryParse (System.ReadOnlySpan<char> input, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, System.ReadOnlySpan<char> format, IFormatProvider formatProvider, Globalization.TimeSpanStyles styles, out TimeSpan result);
public static bool TryParseExact (System.ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, Globalization.TimeSpanStyles styles, out TimeSpan result);
public static TimeSpan op_Multiply (double factor, TimeSpan timeSpan);
public static TimeSpan op_Multiply (TimeSpan timeSpan, double factor);

Type Changed: System.Type

Removed interfaces:

Runtime.InteropServices._MemberInfo
Runtime.InteropServices._Type

Modified properties:

-public virtual Reflection.TypeAttributes Attributes { get; }
+public final Reflection.TypeAttributes Attributes { get; }
-public virtual bool HasElementType { get; }
+public final bool HasElementType { get; }
-public virtual bool IsAbstract { get; }
+public final bool IsAbstract { get; }
-public virtual bool IsAnsiClass { get; }
+public final bool IsAnsiClass { get; }
-public virtual bool IsArray { get; }
+public final bool IsArray { get; }
-public virtual bool IsAutoClass { get; }
+public final bool IsAutoClass { get; }
-public virtual bool IsAutoLayout { get; }
+public final bool IsAutoLayout { get; }
-public virtual bool IsByRef { get; }
+public final bool IsByRef { get; }
-public virtual bool IsCOMObject { get; }
+public final bool IsCOMObject { get; }
-public virtual bool IsClass { get; }
+public final bool IsClass { get; }
-public virtual bool IsContextful { get; }
+public final bool IsContextful { get; }
-public virtual bool IsExplicitLayout { get; }
+public final bool IsExplicitLayout { get; }
-public virtual bool IsImport { get; }
+public final bool IsImport { get; }
-public virtual bool IsInterface { get; }
+public final bool IsInterface { get; }
-public virtual bool IsLayoutSequential { get; }
+public final bool IsLayoutSequential { get; }
-public virtual bool IsMarshalByRef { get; }
+public final bool IsMarshalByRef { get; }
-public virtual bool IsNestedAssembly { get; }
+public final bool IsNestedAssembly { get; }
-public virtual bool IsNestedFamANDAssem { get; }
+public final bool IsNestedFamANDAssem { get; }
-public virtual bool IsNestedFamORAssem { get; }
+public final bool IsNestedFamORAssem { get; }
-public virtual bool IsNestedFamily { get; }
+public final bool IsNestedFamily { get; }
-public virtual bool IsNestedPrivate { get; }
+public final bool IsNestedPrivate { get; }
-public virtual bool IsNestedPublic { get; }
+public final bool IsNestedPublic { get; }
-public virtual bool IsNotPublic { get; }
+public final bool IsNotPublic { get; }
-public virtual bool IsPointer { get; }
+public final bool IsPointer { get; }
-public virtual bool IsPrimitive { get; }
+public final bool IsPrimitive { get; }
-public virtual bool IsPublic { get; }
+public final bool IsPublic { get; }
-public virtual bool IsSealed { get; }
+public final bool IsSealed { get; }
-public virtual bool IsSpecialName { get; }
+public final bool IsSpecialName { get; }
-public virtual bool IsUnicodeClass { get; }
+public final bool IsUnicodeClass { get; }
-public virtual bool IsValueType { get; }
+public final bool IsValueType { get; }
-public virtual Reflection.ConstructorInfo TypeInitializer { get; }
+public final Reflection.ConstructorInfo TypeInitializer { get; }

Added properties:

public virtual bool IsByRefLike { get; }
public virtual bool IsGenericMethodParameter { get; }
public virtual bool IsGenericTypeParameter { get; }
public virtual bool IsSignatureType { get; }
public virtual bool IsTypeDefinition { get; }
public virtual bool IsVariableBoundArray { get; }

Modified methods:

-public virtual Reflection.ConstructorInfo GetConstructor (Type[] types)
+public final Reflection.ConstructorInfo GetConstructor (Type[] types)
-public virtual Reflection.ConstructorInfo GetConstructor (Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.ConstructorInfo GetConstructor (Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Reflection.ConstructorInfo GetConstructor (Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.ConstructorInfo GetConstructor (Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Reflection.ConstructorInfo[] GetConstructors ()
+public final Reflection.ConstructorInfo[] GetConstructors ()
-public virtual Reflection.EventInfo GetEvent (string name)
+public final Reflection.EventInfo GetEvent (string name)
-public virtual Reflection.FieldInfo GetField (string name)
+public final Reflection.FieldInfo GetField (string name)
-public virtual Reflection.FieldInfo[] GetFields ()
+public final Reflection.FieldInfo[] GetFields ()
-public virtual Type GetInterface (string name)
+public final Type GetInterface (string name)
-public virtual Reflection.MemberInfo[] GetMember (string name)
+public final Reflection.MemberInfo[] GetMember (string name)
-public virtual Reflection.MemberInfo[] GetMembers ()
+public final Reflection.MemberInfo[] GetMembers ()
-public virtual Reflection.MethodInfo GetMethod (string name)
+public final Reflection.MethodInfo GetMethod (string name)
-public virtual Reflection.MethodInfo GetMethod (string name, Type[] types)
+public final Reflection.MethodInfo GetMethod (string name, Type[] types)
-public virtual Reflection.MethodInfo GetMethod (string name, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.MethodInfo GetMethod (string name, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Reflection.MethodInfo GetMethod (string name, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.MethodInfo GetMethod (string name, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Reflection.MethodInfo[] GetMethods ()
+public final Reflection.MethodInfo[] GetMethods ()
-public virtual Type GetNestedType (string name)
+public final Type GetNestedType (string name)
-public virtual Type[] GetNestedTypes ()
+public final Type[] GetNestedTypes ()
-public virtual Reflection.PropertyInfo[] GetProperties ()
+public final Reflection.PropertyInfo[] GetProperties ()
-public virtual Reflection.PropertyInfo GetProperty (string name)
+public final Reflection.PropertyInfo GetProperty (string name)
-public virtual Reflection.PropertyInfo GetProperty (string name, Type returnType)
+public final Reflection.PropertyInfo GetProperty (string name, Type returnType)
-public virtual Reflection.PropertyInfo GetProperty (string name, Type[] types)
+public final Reflection.PropertyInfo GetProperty (string name, Type[] types)
-public virtual Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types)
+public final Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types)
-public virtual Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types, Reflection.ParameterModifier[] modifiers)
+public final Reflection.PropertyInfo GetProperty (string name, Type returnType, Type[] types, Reflection.ParameterModifier[] modifiers)
-public virtual Type GetType ()
+public final Type GetType ()
-public virtual object InvokeMember (string name, Reflection.BindingFlags invokeAttr, Reflection.Binder binder, object target, object[] args)
+public final object InvokeMember (string name, Reflection.BindingFlags invokeAttr, Reflection.Binder binder, object target, object[] args)
-public virtual object InvokeMember (string name, Reflection.BindingFlags invokeAttr, Reflection.Binder binder, object target, object[] args, Globalization.CultureInfo culture)
+public final object InvokeMember (string name, Reflection.BindingFlags invokeAttr, Reflection.Binder binder, object target, object[] args, Globalization.CultureInfo culture)

Added methods:

public Reflection.MethodInfo GetMethod (string name, int genericParameterCount, Type[] types);
public Reflection.MethodInfo GetMethod (string name, int genericParameterCount, Type[] types, Reflection.ParameterModifier[] modifiers);
public Reflection.MethodInfo GetMethod (string name, int genericParameterCount, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Type[] types, Reflection.ParameterModifier[] modifiers);
public Reflection.MethodInfo GetMethod (string name, int genericParameterCount, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers);
protected virtual Reflection.MethodInfo GetMethodImpl (string name, int genericParameterCount, Reflection.BindingFlags bindingAttr, Reflection.Binder binder, Reflection.CallingConventions callConvention, Type[] types, Reflection.ParameterModifier[] modifiers);
public static Type MakeGenericMethodParameter (int position);
public static Type MakeGenericSignatureType (Type genericTypeDefinition, Type[] typeArguments);

Type Changed: System.UIntPtr

Added interface:

System.IEquatable<UIntPtr>

Type Changed: System.Version

Added methods:

public static Version Parse (System.ReadOnlySpan<char> input);
public bool TryFormat (System.Span<char> destination, out int charsWritten);
public bool TryFormat (System.Span<char> destination, int fieldCount, out int charsWritten);
public static bool TryParse (System.ReadOnlySpan<char> input, out Version result);

Type Changed: System._AppDomain

Added methods:

public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions);
public virtual Reflection.Emit.AssemblyBuilder DefineDynamicAssembly (Reflection.AssemblyName name, Reflection.Emit.AssemblyBuilderAccess access, string dir, Security.Policy.Evidence evidence, Security.PermissionSet requiredPermissions, Security.PermissionSet optionalPermissions, Security.PermissionSet refusedPermissions, bool isSynchronized);

New Type: System.CultureAwareComparer

[Serializable]
public sealed class CultureAwareComparer : System.StringComparer, System.Collections.Generic.IComparer<string>, System.Collections.Generic.IEqualityComparer<string>, Collections.IComparer, Collections.IEqualityComparer, Runtime.Serialization.ISerializable {
	// methods
	public override int Compare (string x, string y);
	public override bool Equals (object obj);
	public override bool Equals (string x, string y);
	public override int GetHashCode ();
	public override int GetHashCode (string obj);
	public virtual void GetObjectData (Runtime.Serialization.SerializationInfo info, Runtime.Serialization.StreamingContext context);
}

New Type: System.IAsyncDisposable

public interface IAsyncDisposable {
	// methods
	public virtual Threading.Tasks.ValueTask DisposeAsync ();
}

New Type: System.Index

public struct Index, System.IEquatable<Index> {
	// constructors
	public Index (int value, bool fromEnd);
	// properties
	public static Index End { get; }
	public bool IsFromEnd { get; }
	public static Index Start { get; }
	public int Value { get; }
	// methods
	public virtual bool Equals (Index other);
	public override bool Equals (object value);
	public static Index FromEnd (int value);
	public static Index FromStart (int value);
	public override int GetHashCode ();
	public int GetOffset (int length);
	public override string ToString ();
	public static Index op_Implicit (int value);
}

New Type: System.OrdinalComparer

[Serializable]
public class OrdinalComparer : System.StringComparer, System.Collections.Generic.IComparer<string>, System.Collections.Generic.IEqualityComparer<string>, Collections.IComparer, Collections.IEqualityComparer {
	// methods
	public override int Compare (string x, string y);
	public override bool Equals (object obj);
	public override bool Equals (string x, string y);
	public override int GetHashCode ();
	public override int GetHashCode (string obj);
}

New Type: System.Range

public struct Range, System.IEquatable<Range> {
	// constructors
	public Range (Index start, Index end);
	// properties
	public static Range All { get; }
	public Index End { get; }
	public Index Start { get; }
	// methods
	public static Range EndAt (Index end);
	public override bool Equals (object value);
	public virtual bool Equals (Range other);
	public override int GetHashCode ();
	public System.ValueTuple<Int32,System.Int32> GetOffsetAndLength (int length);
	public static Range StartAt (Index start);
	public override string ToString ();
}

Namespace System.Collections.Generic

New Type: System.Collections.Generic.IAsyncEnumerable`1

public interface IAsyncEnumerable`1 {
	// methods
	public virtual System.Collections.Generic.IAsyncEnumerator<T> GetAsyncEnumerator (System.Threading.CancellationToken cancellationToken);
}

New Type: System.Collections.Generic.IAsyncEnumerator`1

public interface IAsyncEnumerator`1 : System.IAsyncDisposable {
	// properties
	public virtual T Current { get; }
	// methods
	public virtual System.Threading.Tasks.ValueTask<bool> MoveNextAsync ();
}

New Type: System.Collections.Generic.Queue`1

[Serializable]
public class Queue`1 : System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection, System.Collections.IEnumerable {
	// constructors
	public Queue`1 ();
	public Queue`1 (System.Collections.Generic.IEnumerable<T> collection);
	public Queue`1 (int capacity);
	// properties
	public virtual int Count { get; }
	// methods
	public void Clear ();
	public bool Contains (T item);
	public void CopyTo (T[] array, int arrayIndex);
	public T Dequeue ();
	public void Enqueue (T item);
	public System.Collections.Generic.Queue<Enumerator[T> GetEnumerator ();
	public T Peek ();
	public T[] ToArray ();
	public void TrimExcess ();
	public bool TryDequeue (out T result);
	public bool TryPeek (out T result);

	// inner types
	[Serializable]
	public struct Enumerator, System.Collections.Generic.IEnumerator<T>, System.Collections.IEnumerator, System.IDisposable {
		// properties
		public virtual T Current { get; }
		// methods
		public virtual void Dispose ();
		public virtual bool MoveNext ();
	}
}

New Type: System.Collections.Generic.Stack`1

[Serializable]
public class Stack`1 : System.Collections.Generic.IEnumerable<T>, System.Collections.Generic.IReadOnlyCollection<T>, System.Collections.ICollection, System.Collections.IEnumerable {
	// constructors
	public Stack`1 ();
	public Stack`1 (System.Collections.Generic.IEnumerable<T> collection);
	public Stack`1 (int capacity);
	// properties
	public virtual int Count { get; }
	// methods
	public void Clear ();
	public bool Contains (T item);
	public void CopyTo (T[] array, int arrayIndex);
	public System.Collections.Generic.Stack<Enumerator[T> GetEnumerator ();
	public T Peek ();
	public T Pop ();
	public void Push (T item);
	public T[] ToArray ();
	public void TrimExcess ();
	public bool TryPeek (out T result);
	public bool TryPop (out T result);

	// inner types
	[Serializable]
	public struct Enumerator, System.Collections.Generic.IEnumerator<T>, System.Collections.IEnumerator, System.IDisposable {
		// properties
		public virtual T Current { get; }
		// methods
		public virtual void Dispose ();
		public virtual bool MoveNext ();
	}
}

Namespace System.Diagnostics.Tracing

Type Changed: System.Diagnostics.Tracing.EventCounter

Added interface:

System.IDisposable

Added method:

public virtual void Dispose ();

Type Changed: System.Diagnostics.Tracing.EventListener

Added events:

public event System.EventHandler<EventSourceCreatedEventArgs> EventSourceCreated;
public event System.EventHandler<EventWrittenEventArgs> EventWritten;

New Type: System.Diagnostics.Tracing.EventSourceCreatedEventArgs

public class EventSourceCreatedEventArgs : System.EventArgs {
	// constructors
	public EventSourceCreatedEventArgs ();
	// properties
	public EventSource EventSource { get; }
}

Namespace System.Globalization

New Type: System.Globalization.ISOWeek

public static class ISOWeek {
	// methods
	public static int GetWeekOfYear (System.DateTime date);
	public static int GetWeeksInYear (int year);
	public static int GetYear (System.DateTime date);
	public static System.DateTime GetYearEnd (int year);
	public static System.DateTime GetYearStart (int year);
	public static System.DateTime ToDateTime (int year, int week, System.DayOfWeek dayOfWeek);
}

Namespace System.IO

Type Changed: System.IO.BinaryReader

Added methods:

public virtual int Read (System.Span<byte> buffer);
public virtual int Read (System.Span<char> buffer);

Type Changed: System.IO.BinaryWriter

Added interface:

System.IAsyncDisposable

Added methods:

public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual void Write (System.ReadOnlySpan<byte> buffer);
public virtual void Write (System.ReadOnlySpan<char> buffer);

Type Changed: System.IO.BufferedStream

Added interface:

System.IAsyncDisposable

Added properties:

public int BufferSize { get; }
public Stream UnderlyingStream { get; }

Added methods:

public override void CopyTo (Stream destination, int bufferSize);
public override System.Threading.Tasks.Task CopyToAsync (Stream destination, int bufferSize, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.ValueTask DisposeAsync ();
public override int Read (System.Span<byte> destination);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> buffer);
public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.Directory

Added methods:

public static System.Collections.Generic.IEnumerable<string> EnumerateDirectories (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static System.Collections.Generic.IEnumerable<string> EnumerateFileSystemEntries (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static System.Collections.Generic.IEnumerable<string> EnumerateFiles (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static string[] GetDirectories (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static string[] GetFileSystemEntries (string path, string searchPattern, EnumerationOptions enumerationOptions);
public static string[] GetFiles (string path, string searchPattern, EnumerationOptions enumerationOptions);

Type Changed: System.IO.DirectoryInfo

Removed properties:

public override bool Exists { get; }
public override string Name { get; }

Removed method:

public override string ToString ();

Added methods:

public System.Collections.Generic.IEnumerable<DirectoryInfo> EnumerateDirectories (string searchPattern, EnumerationOptions enumerationOptions);
public System.Collections.Generic.IEnumerable<FileSystemInfo> EnumerateFileSystemInfos (string searchPattern, EnumerationOptions enumerationOptions);
public System.Collections.Generic.IEnumerable<FileInfo> EnumerateFiles (string searchPattern, EnumerationOptions enumerationOptions);
public DirectoryInfo[] GetDirectories (string searchPattern, EnumerationOptions enumerationOptions);
public FileSystemInfo[] GetFileSystemInfos (string searchPattern, EnumerationOptions enumerationOptions);
public FileInfo[] GetFiles (string searchPattern, EnumerationOptions enumerationOptions);

Type Changed: System.IO.File

Added methods:

public static System.Threading.Tasks.Task AppendAllLinesAsync (string path, System.Collections.Generic.IEnumerable<string> contents, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task AppendAllLinesAsync (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task AppendAllTextAsync (string path, string contents, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task AppendAllTextAsync (string path, string contents, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<System.Byte[]> ReadAllBytesAsync (string path, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<System.String[]> ReadAllLinesAsync (string path, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<System.String[]> ReadAllLinesAsync (string path, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<string> ReadAllTextAsync (string path, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task<string> ReadAllTextAsync (string path, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllBytesAsync (string path, byte[] bytes, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllLinesAsync (string path, System.Collections.Generic.IEnumerable<string> contents, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllLinesAsync (string path, System.Collections.Generic.IEnumerable<string> contents, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllTextAsync (string path, string contents, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.Task WriteAllTextAsync (string path, string contents, System.Text.Encoding encoding, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.FileInfo

Removed property:

public override bool Exists { get; }

Removed method:

public override string ToString ();

Type Changed: System.IO.FileStream

Added interface:

System.IAsyncDisposable

Modified properties:

 public ---virtual--- string Name { get; }

Type Changed: System.IO.FileSystemInfo

Modified properties:

-public abstract bool Exists { get; }
+public virtual bool Exists { get; }
-public abstract string Name { get; }
+public virtual string Name { get; }

Added method:

public override string ToString ();

Type Changed: System.IO.MemoryStream

Added interface:

System.IAsyncDisposable

Added methods:

public override void CopyTo (Stream destination, int bufferSize);
public override int Read (System.Span<byte> buffer);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> buffer);
public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.Path

Added methods:

public static System.ReadOnlySpan<char> GetDirectoryName (System.ReadOnlySpan<char> path);
public static System.ReadOnlySpan<char> GetExtension (System.ReadOnlySpan<char> path);
public static System.ReadOnlySpan<char> GetFileNameWithoutExtension (System.ReadOnlySpan<char> path);
public static string GetFullPath (string path, string basePath);
public static System.ReadOnlySpan<char> GetPathRoot (System.ReadOnlySpan<char> path);
public static string GetRelativePath (string relativeTo, string path);
public static bool HasExtension (System.ReadOnlySpan<char> path);
public static bool IsPathFullyQualified (System.ReadOnlySpan<char> path);
public static bool IsPathFullyQualified (string path);
public static bool IsPathRooted (System.ReadOnlySpan<char> path);
public static string Join (System.ReadOnlySpan<char> path1, System.ReadOnlySpan<char> path2);
public static string Join (System.ReadOnlySpan<char> path1, System.ReadOnlySpan<char> path2, System.ReadOnlySpan<char> path3);
public static bool TryJoin (System.ReadOnlySpan<char> path1, System.ReadOnlySpan<char> path2, System.Span<char> destination, out int charsWritten);
public static bool TryJoin (System.ReadOnlySpan<char> path1, System.ReadOnlySpan<char> path2, System.ReadOnlySpan<char> path3, System.Span<char> destination, out int charsWritten);

Type Changed: System.IO.Stream

Added interface:

System.IAsyncDisposable

Modified methods:

-public virtual int Read (System.Span<byte> destination)
+public virtual int Read (System.Span<byte> buffer)
-public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> destination, System.Threading.CancellationToken cancellationToken = NULL)
+public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = NULL)
-public virtual void Write (System.ReadOnlySpan<byte> source)
+public virtual void Write (System.ReadOnlySpan<byte> buffer)
-public virtual System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> source, System.Threading.CancellationToken cancellationToken = NULL)
+public virtual System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = NULL)

Added methods:

public System.Threading.Tasks.Task CopyToAsync (Stream destination, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.ValueTask DisposeAsync ();

Type Changed: System.IO.StreamReader

Added methods:

public override int Read (System.Span<char> buffer);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<char> buffer, System.Threading.CancellationToken cancellationToken);
public override int ReadBlock (System.Span<char> buffer);
public override System.Threading.Tasks.ValueTask<int> ReadBlockAsync (System.Memory<char> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.StreamWriter

Added interface:

System.IAsyncDisposable

Added methods:

public override System.Threading.Tasks.ValueTask DisposeAsync ();
public override void Write (System.ReadOnlySpan<char> buffer);
public override System.Threading.Tasks.Task WriteAsync (System.ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken);
public override void WriteLine (System.ReadOnlySpan<char> value);
public override void WriteLine (string value);
public override System.Threading.Tasks.Task WriteLineAsync (System.ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.StringWriter

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.TextReader

Added methods:

public virtual int Read (System.Span<char> buffer);
public virtual System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<char> buffer, System.Threading.CancellationToken cancellationToken);
public virtual int ReadBlock (System.Span<char> buffer);
public virtual System.Threading.Tasks.ValueTask<int> ReadBlockAsync (System.Memory<char> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.TextWriter

Added interface:

System.IAsyncDisposable

Added methods:

public virtual System.Threading.Tasks.ValueTask DisposeAsync ();
public virtual void Write (System.ReadOnlySpan<char> buffer);
public virtual System.Threading.Tasks.Task WriteAsync (System.ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken);
public virtual void WriteLine (System.ReadOnlySpan<char> buffer);
public virtual System.Threading.Tasks.Task WriteLineAsync (System.ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken);

Type Changed: System.IO.UnmanagedMemoryStream

Added interface:

System.IAsyncDisposable

Added methods:

public override int Read (System.Span<byte> buffer);
public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
public override void Write (System.ReadOnlySpan<byte> buffer);
public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken);

New Type: System.IO.EnumerationOptions

public class EnumerationOptions {
	// constructors
	public EnumerationOptions ();
	// properties
	public FileAttributes AttributesToSkip { get; set; }
	public int BufferSize { get; set; }
	public bool IgnoreInaccessible { get; set; }
	public MatchCasing MatchCasing { get; set; }
	public MatchType MatchType { get; set; }
	public bool RecurseSubdirectories { get; set; }
	public bool ReturnSpecialDirectories { get; set; }
}

New Type: System.IO.MatchCasing

[Serializable]
public enum MatchCasing {
	CaseInsensitive = 2,
	CaseSensitive = 1,
	PlatformDefault = 0,
}

New Type: System.IO.MatchType

[Serializable]
public enum MatchType {
	Simple = 0,
	Win32 = 1,
}

Namespace System.IO.IsolatedStorage

Type Changed: System.IO.IsolatedStorage.IsolatedStorage

Modified methods:

-protected abstract System.Security.Permissions.IsolatedStoragePermission GetPermission (System.Security.PermissionSet ps)
+protected virtual System.Security.Permissions.IsolatedStoragePermission GetPermission (System.Security.PermissionSet ps)

Type Changed: System.IO.IsolatedStorage.IsolatedStorageFileStream

Added interface:

System.IAsyncDisposable

Namespace System.Numerics

Type Changed: System.Numerics.Vector`1

Added constructor:

public Vector`1 (System.Span<T> values);

Namespace System.Reflection

Type Changed: System.Reflection.Assembly

Modified constructors:

-protected Assembly ()
+public Assembly ()

Added method:

public virtual System.Type[] GetForwardedTypes ();

Type Changed: System.Reflection.ConstructorInfo

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Type Changed: System.Reflection.EventInfo

Removed interface:

System.Runtime.InteropServices._MemberInfo

Type Changed: System.Reflection.FieldInfo

Removed interface:

System.Runtime.InteropServices._MemberInfo

Type Changed: System.Reflection.MemberInfo

Removed interface:

System.Runtime.InteropServices._MemberInfo

Added method:

public virtual bool HasSameMetadataDefinitionAs (MemberInfo other);

Type Changed: System.Reflection.MethodBase

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Added property:

public virtual bool IsConstructedGenericMethod { get; }

Modified methods:

-public virtual object Invoke (object obj, object[] parameters)
+public final object Invoke (object obj, object[] parameters)

Type Changed: System.Reflection.MethodInfo

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Type Changed: System.Reflection.PropertyInfo

Removed interface:

System.Runtime.InteropServices._MemberInfo

Type Changed: System.Reflection.TypeDelegator

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

Added properties:

public override bool IsByRefLike { get; }
public override bool IsCollectible { get; }
public override bool IsGenericMethodParameter { get; }
public override bool IsGenericTypeParameter { get; }
public override bool IsTypeDefinition { get; }

Type Changed: System.Reflection.TypeInfo

Added constructor:

protected TypeInfo ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

New Type: System.Reflection.AssemblyExtensions

public static class AssemblyExtensions {
	// methods
	public static System.Type[] GetExportedTypes (Assembly assembly);
	public static Module[] GetModules (Assembly assembly);
	public static System.Type[] GetTypes (Assembly assembly);
}

New Type: System.Reflection.EventInfoExtensions

public static class EventInfoExtensions {
	// methods
	public static MethodInfo GetAddMethod (EventInfo eventInfo);
	public static MethodInfo GetAddMethod (EventInfo eventInfo, bool nonPublic);
	public static MethodInfo GetRaiseMethod (EventInfo eventInfo);
	public static MethodInfo GetRaiseMethod (EventInfo eventInfo, bool nonPublic);
	public static MethodInfo GetRemoveMethod (EventInfo eventInfo);
	public static MethodInfo GetRemoveMethod (EventInfo eventInfo, bool nonPublic);
}

New Type: System.Reflection.MemberInfoExtensions

public static class MemberInfoExtensions {
	// methods
	public static int GetMetadataToken (this MemberInfo member);
	public static bool HasMetadataToken (this MemberInfo member);
}

New Type: System.Reflection.MethodInfoExtensions

public static class MethodInfoExtensions {
	// methods
	public static MethodInfo GetBaseDefinition (MethodInfo method);
}

New Type: System.Reflection.MissingMetadataException

public sealed class MissingMetadataException : System.TypeAccessException, System.Runtime.Serialization.ISerializable {
	// constructors
	public MissingMetadataException ();
	public MissingMetadataException (string message);
}

New Type: System.Reflection.ModuleExtensions

public static class ModuleExtensions {
	// methods
	public static System.Guid GetModuleVersionId (this Module module);
	public static bool HasModuleVersionId (this Module module);
}

New Type: System.Reflection.PropertyInfoExtensions

public static class PropertyInfoExtensions {
	// methods
	public static MethodInfo[] GetAccessors (PropertyInfo property);
	public static MethodInfo[] GetAccessors (PropertyInfo property, bool nonPublic);
	public static MethodInfo GetGetMethod (PropertyInfo property);
	public static MethodInfo GetGetMethod (PropertyInfo property, bool nonPublic);
	public static MethodInfo GetSetMethod (PropertyInfo property);
	public static MethodInfo GetSetMethod (PropertyInfo property, bool nonPublic);
}

New Type: System.Reflection.TypeExtensions

public static class TypeExtensions {
	// methods
	public static ConstructorInfo GetConstructor (System.Type type, System.Type[] types);
	public static ConstructorInfo[] GetConstructors (System.Type type);
	public static ConstructorInfo[] GetConstructors (System.Type type, BindingFlags bindingAttr);
	public static MemberInfo[] GetDefaultMembers (System.Type type);
	public static EventInfo GetEvent (System.Type type, string name);
	public static EventInfo GetEvent (System.Type type, string name, BindingFlags bindingAttr);
	public static EventInfo[] GetEvents (System.Type type);
	public static EventInfo[] GetEvents (System.Type type, BindingFlags bindingAttr);
	public static FieldInfo GetField (System.Type type, string name);
	public static FieldInfo GetField (System.Type type, string name, BindingFlags bindingAttr);
	public static FieldInfo[] GetFields (System.Type type);
	public static FieldInfo[] GetFields (System.Type type, BindingFlags bindingAttr);
	public static System.Type[] GetGenericArguments (System.Type type);
	public static System.Type[] GetInterfaces (System.Type type);
	public static MemberInfo[] GetMember (System.Type type, string name);
	public static MemberInfo[] GetMember (System.Type type, string name, BindingFlags bindingAttr);
	public static MemberInfo[] GetMembers (System.Type type);
	public static MemberInfo[] GetMembers (System.Type type, BindingFlags bindingAttr);
	public static MethodInfo GetMethod (System.Type type, string name);
	public static MethodInfo GetMethod (System.Type type, string name, BindingFlags bindingAttr);
	public static MethodInfo GetMethod (System.Type type, string name, System.Type[] types);
	public static MethodInfo[] GetMethods (System.Type type);
	public static MethodInfo[] GetMethods (System.Type type, BindingFlags bindingAttr);
	public static System.Type GetNestedType (System.Type type, string name, BindingFlags bindingAttr);
	public static System.Type[] GetNestedTypes (System.Type type, BindingFlags bindingAttr);
	public static PropertyInfo[] GetProperties (System.Type type);
	public static PropertyInfo[] GetProperties (System.Type type, BindingFlags bindingAttr);
	public static PropertyInfo GetProperty (System.Type type, string name);
	public static PropertyInfo GetProperty (System.Type type, string name, BindingFlags bindingAttr);
	public static PropertyInfo GetProperty (System.Type type, string name, System.Type returnType);
	public static PropertyInfo GetProperty (System.Type type, string name, System.Type returnType, System.Type[] types);
	public static bool IsAssignableFrom (System.Type type, System.Type c);
	public static bool IsInstanceOfType (System.Type type, object o);
}

Namespace System.Reflection.Emit

Type Changed: System.Reflection.Emit.AssemblyBuilder

Removed constructor:

public AssemblyBuilder ();

Added properties:

public override string CodeBase { get; }
public override System.Reflection.MethodInfo EntryPoint { get; }
public override string EscapedCodeBase { get; }
public override System.Security.Policy.Evidence Evidence { get; }
public override string FullName { get; }
public override bool GlobalAssemblyCache { get; }
public override string ImageRuntimeVersion { get; }
public override bool IsDynamic { get; }
public override string Location { get; }
public override System.Reflection.Module ManifestModule { get; }
public override bool ReflectionOnly { get; }

Added methods:

public void AddResourceFile (string name, string fileName);
public void AddResourceFile (string name, string fileName, System.Reflection.ResourceAttributes attribute);
public ModuleBuilder DefineDynamicModule (string name, bool emitSymbolInfo);
public ModuleBuilder DefineDynamicModule (string name, string fileName);
public ModuleBuilder DefineDynamicModule (string name, string fileName, bool emitSymbolInfo);
public System.Resources.IResourceWriter DefineResource (string name, string description, string fileName);
public System.Resources.IResourceWriter DefineResource (string name, string description, string fileName, System.Reflection.ResourceAttributes attribute);
public void DefineUnmanagedResource (byte[] resource);
public void DefineUnmanagedResource (string resourceFileName);
public void DefineVersionInfoResource ();
public void DefineVersionInfoResource (string product, string productVersion, string company, string copyright, string trademark);
public override bool Equals (object obj);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Type[] GetExportedTypes ();
public override System.IO.FileStream GetFile (string name);
public override System.IO.FileStream[] GetFiles (bool getResourceModules);
public override int GetHashCode ();
public override System.Reflection.Module[] GetLoadedModules (bool getResourceModules);
public override System.Reflection.ManifestResourceInfo GetManifestResourceInfo (string resourceName);
public override string[] GetManifestResourceNames ();
public override System.IO.Stream GetManifestResourceStream (string name);
public override System.IO.Stream GetManifestResourceStream (System.Type type, string name);
public override System.Reflection.Module GetModule (string name);
public override System.Reflection.Module[] GetModules (bool getResourceModules);
public override System.Reflection.AssemblyName GetName (bool copiedName);
public override System.Reflection.AssemblyName[] GetReferencedAssemblies ();
public override System.Reflection.Assembly GetSatelliteAssembly (System.Globalization.CultureInfo culture);
public override System.Reflection.Assembly GetSatelliteAssembly (System.Globalization.CultureInfo culture, System.Version version);
public override System.Type GetType (string name, bool throwOnError, bool ignoreCase);
public override bool IsDefined (System.Type attributeType, bool inherit);
public void Save (string assemblyFileName);
public void Save (string assemblyFileName, System.Reflection.PortableExecutableKinds portableExecutableKind, System.Reflection.ImageFileMachine imageFileMachine);
public void SetEntryPoint (System.Reflection.MethodInfo entryMethod);
public void SetEntryPoint (System.Reflection.MethodInfo entryMethod, PEFileKinds fileKind);
public override string ToString ();

Type Changed: System.Reflection.Emit.ConstructorBuilder

Removed constructor:

protected ConstructorBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Added properties:

public override System.Reflection.CallingConventions CallingConvention { get; }
public override System.RuntimeMethodHandle MethodHandle { get; }
public override System.Reflection.Module Module { get; }
public override System.Type ReflectedType { get; }

[Obsolete]
public System.Type ReturnType { get; }
public string Signature { get; }

Added methods:

public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.MethodImplAttributes GetMethodImplementationFlags ();
public System.Reflection.Module GetModule ();
public MethodToken GetToken ();
public override object Invoke (System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
public override bool IsDefined (System.Type attributeType, bool inherit);
public void SetMethodBody (byte[] il, int maxStack, byte[] localSignature, System.Collections.Generic.IEnumerable<ExceptionHandler> exceptionHandlers, System.Collections.Generic.IEnumerable<int> tokenFixups);
public void SetSymCustomAttribute (string name, byte[] data);
public override string ToString ();

Type Changed: System.Reflection.Emit.DynamicMethod

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Removed property:

public override System.Reflection.MethodImplAttributes MethodImplementationFlags { get; }

Added properties:

public override System.RuntimeMethodHandle MethodHandle { get; }
public override System.Reflection.Module Module { get; }
public override System.Type ReflectedType { get; }
public override System.Reflection.ICustomAttributeProvider ReturnTypeCustomAttributes { get; }

Added methods:

public override System.Delegate CreateDelegate (System.Type delegateType);
public override System.Delegate CreateDelegate (System.Type delegateType, object target);
public ParameterBuilder DefineParameter (int position, System.Reflection.ParameterAttributes attributes, string parameterName);
public override System.Reflection.MethodInfo GetBaseDefinition ();
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public DynamicILInfo GetDynamicILInfo ();
public override System.Reflection.MethodImplAttributes GetMethodImplementationFlags ();
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
public override bool IsDefined (System.Type attributeType, bool inherit);
public override string ToString ();

Type Changed: System.Reflection.Emit.EnumBuilder

Removed constructor:

protected EnumBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

Added properties:

public override System.Type DeclaringType { get; }
public override bool IsConstructedGenericType { get; }
public override bool IsTypeDefinition { get; }
public override System.Type ReflectedType { get; }
public override System.RuntimeTypeHandle TypeHandle { get; }
public TypeToken TypeToken { get; }
public override System.Type UnderlyingSystemType { get; }

Added methods:

public System.Type CreateType ();
protected override System.Reflection.TypeAttributes GetAttributeFlagsImpl ();
protected override System.Reflection.ConstructorInfo GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.ConstructorInfo[] GetConstructors (System.Reflection.BindingFlags bindingAttr);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Type GetEnumUnderlyingType ();
public override System.Reflection.EventInfo GetEvent (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.EventInfo[] GetEvents ();
public override System.Reflection.EventInfo[] GetEvents (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingAttr);
public override System.Type GetInterface (string name, bool ignoreCase);
public override System.Reflection.InterfaceMapping GetInterfaceMap (System.Type interfaceType);
public override System.Type[] GetInterfaces ();
public override System.Reflection.MemberInfo[] GetMember (string name, System.Reflection.MemberTypes type, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.MemberInfo[] GetMembers (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingAttr);
public override System.Type GetNestedType (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetNestedTypes (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.PropertyInfo[] GetProperties (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Type returnType, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected override bool HasElementTypeImpl ();
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
protected override bool IsArrayImpl ();
public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo);
protected override bool IsByRefImpl ();
protected override bool IsCOMObjectImpl ();
public override bool IsDefined (System.Type attributeType, bool inherit);
protected override bool IsPointerImpl ();
protected override bool IsPrimitiveImpl ();
protected override bool IsValueTypeImpl ();
public override System.Type MakeArrayType ();
public override System.Type MakeArrayType (int rank);
public override System.Type MakeByRefType ();
public override System.Type MakePointerType ();

Type Changed: System.Reflection.Emit.EventBuilder

Removed constructor:

public EventBuilder ();

Added method:

public EventToken GetEventToken ();

Type Changed: System.Reflection.Emit.FieldBuilder

Removed constructor:

protected FieldBuilder ();

Removed interface:

System.Runtime.InteropServices._MemberInfo

Added properties:

public override System.RuntimeFieldHandle FieldHandle { get; }
public override int MetadataToken { get; }
public override System.Reflection.Module Module { get; }
public override System.Type ReflectedType { get; }

Added methods:

public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public FieldToken GetToken ();
public override bool IsDefined (System.Type attributeType, bool inherit);

[Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")]
public void SetMarshal (UnmanagedMarshal unmanagedMarshal);
public override void SetValue (object obj, object val, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Globalization.CultureInfo culture);

Type Changed: System.Reflection.Emit.GenericTypeParameterBuilder

Removed constructor:

protected GenericTypeParameterBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

Added properties:

public override bool ContainsGenericParameters { get; }
public override System.Reflection.MethodBase DeclaringMethod { get; }
public override System.Type DeclaringType { get; }
public override System.Reflection.GenericParameterAttributes GenericParameterAttributes { get; }
public override int GenericParameterPosition { get; }
public override bool IsGenericParameter { get; }
public override bool IsGenericType { get; }
public override bool IsGenericTypeDefinition { get; }
public override System.Type ReflectedType { get; }
public override System.RuntimeTypeHandle TypeHandle { get; }
public override System.Type UnderlyingSystemType { get; }

Added methods:

public override bool Equals (object o);
protected override System.Reflection.TypeAttributes GetAttributeFlagsImpl ();
protected override System.Reflection.ConstructorInfo GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.ConstructorInfo[] GetConstructors (System.Reflection.BindingFlags bindingAttr);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.EventInfo GetEvent (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.EventInfo[] GetEvents ();
public override System.Reflection.EventInfo[] GetEvents (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetGenericArguments ();
public override System.Type[] GetGenericParameterConstraints ();
public override System.Type GetGenericTypeDefinition ();
public override int GetHashCode ();
public override System.Type GetInterface (string name, bool ignoreCase);
public override System.Reflection.InterfaceMapping GetInterfaceMap (System.Type interfaceType);
public override System.Type[] GetInterfaces ();
public override System.Reflection.MemberInfo[] GetMember (string name, System.Reflection.MemberTypes type, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.MemberInfo[] GetMembers (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingAttr);
public override System.Type GetNestedType (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetNestedTypes (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.PropertyInfo[] GetProperties (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Type returnType, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected override bool HasElementTypeImpl ();
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
protected override bool IsArrayImpl ();
public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo);
public override bool IsAssignableFrom (System.Type c);
protected override bool IsByRefImpl ();
protected override bool IsCOMObjectImpl ();
public override bool IsDefined (System.Type attributeType, bool inherit);
public override bool IsInstanceOfType (object o);
protected override bool IsPointerImpl ();
protected override bool IsPrimitiveImpl ();
public override bool IsSubclassOf (System.Type c);
protected override bool IsValueTypeImpl ();
public override System.Type MakeArrayType ();
public override System.Type MakeArrayType (int rank);
public override System.Type MakeByRefType ();
public override System.Type MakeGenericType (System.Type[] typeArguments);
public override System.Type MakePointerType ();
public override string ToString ();

Type Changed: System.Reflection.Emit.ILGenerator

Modified properties:

 public ---virtual--- int ILOffset { get; }

Added methods:

public virtual void EmitCalli (OpCode opcode, System.Runtime.InteropServices.CallingConvention unmanagedCallConv, System.Type returnType, System.Type[] parameterTypes);
public virtual void MarkSequencePoint (System.Diagnostics.SymbolStore.ISymbolDocumentWriter document, int startLine, int startColumn, int endLine, int endColumn);

Type Changed: System.Reflection.Emit.Label

Added interface:

System.IEquatable<Label>

Type Changed: System.Reflection.Emit.MethodBuilder

Removed constructor:

protected MethodBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._MethodBase

Added properties:

public override System.Reflection.CallingConventions CallingConvention { get; }
public override bool ContainsGenericParameters { get; }
public override bool IsGenericMethod { get; }
public override bool IsGenericMethodDefinition { get; }
public override System.RuntimeMethodHandle MethodHandle { get; }
public override System.Reflection.Module Module { get; }
public override System.Type ReflectedType { get; }
public override System.Reflection.ParameterInfo ReturnParameter { get; }
public override System.Type ReturnType { get; }
public override System.Reflection.ICustomAttributeProvider ReturnTypeCustomAttributes { get; }
public string Signature { get; }

Added methods:

public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset);
public void CreateMethodBody (byte[] il, int count);
public override bool Equals (object obj);
public override System.Reflection.MethodInfo GetBaseDefinition ();
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Type[] GetGenericArguments ();
public override System.Reflection.MethodInfo GetGenericMethodDefinition ();
public override int GetHashCode ();
public override System.Reflection.MethodImplAttributes GetMethodImplementationFlags ();
public System.Reflection.Module GetModule ();
public MethodToken GetToken ();
public override object Invoke (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
public override bool IsDefined (System.Type attributeType, bool inherit);
public override System.Reflection.MethodInfo MakeGenericMethod (System.Type[] typeArguments);

[Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")]
public void SetMarshal (UnmanagedMarshal unmanagedMarshal);
public void SetMethodBody (byte[] il, int maxStack, byte[] localSignature, System.Collections.Generic.IEnumerable<ExceptionHandler> exceptionHandlers, System.Collections.Generic.IEnumerable<int> tokenFixups);
public void SetSymCustomAttribute (string name, byte[] data);
public override string ToString ();

Type Changed: System.Reflection.Emit.ModuleBuilder

Removed constructor:

protected ModuleBuilder ();

Added properties:

public override System.Reflection.Assembly Assembly { get; }
public override string FullyQualifiedName { get; }
public override int MetadataToken { get; }
public override System.Guid ModuleVersionId { get; }
public override string Name { get; }
public override string ScopeName { get; }

Added methods:

public System.Diagnostics.SymbolStore.ISymbolDocumentWriter DefineDocument (string url, System.Guid language, System.Guid languageVendor, System.Guid documentType);
public void DefineManifestResource (string name, System.IO.Stream stream, System.Reflection.ResourceAttributes attribute);
public MethodBuilder DefinePInvokeMethod (string name, string dllName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
public MethodBuilder DefinePInvokeMethod (string name, string dllName, string entryName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
public System.Resources.IResourceWriter DefineResource (string name, string description);
public System.Resources.IResourceWriter DefineResource (string name, string description, System.Reflection.ResourceAttributes attribute);
public void DefineUnmanagedResource (byte[] resource);
public void DefineUnmanagedResource (string resourceFileName);
public override bool Equals (object obj);
public MethodToken GetArrayMethodToken (System.Type arrayClass, string methodName, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes);
public MethodToken GetConstructorToken (System.Reflection.ConstructorInfo con);
public MethodToken GetConstructorToken (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Type> optionalParameterTypes);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr);
public FieldToken GetFieldToken (System.Reflection.FieldInfo field);
public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingFlags);
public override int GetHashCode ();
protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public MethodToken GetMethodToken (System.Reflection.MethodInfo method);
public MethodToken GetMethodToken (System.Reflection.MethodInfo method, System.Collections.Generic.IEnumerable<System.Type> optionalParameterTypes);
public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingFlags);
public SignatureToken GetSignatureToken (SignatureHelper sigHelper);
public SignatureToken GetSignatureToken (byte[] sigBytes, int sigLength);
public StringToken GetStringConstant (string str);
public System.Diagnostics.SymbolStore.ISymbolWriter GetSymWriter ();
public override System.Type GetType (string className);
public override System.Type GetType (string className, bool ignoreCase);
public override System.Type GetType (string className, bool throwOnError, bool ignoreCase);
public TypeToken GetTypeToken (string name);
public TypeToken GetTypeToken (System.Type type);
public override System.Type[] GetTypes ();
public override bool IsDefined (System.Type attributeType, bool inherit);
public override bool IsResource ();
public bool IsTransient ();
public override System.Reflection.FieldInfo ResolveField (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments);
public override System.Reflection.MemberInfo ResolveMember (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments);
public override System.Reflection.MethodBase ResolveMethod (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments);
public override byte[] ResolveSignature (int metadataToken);
public override string ResolveString (int metadataToken);
public override System.Type ResolveType (int metadataToken, System.Type[] genericTypeArguments, System.Type[] genericMethodArguments);
public void SetSymCustomAttribute (string name, byte[] data);
public void SetUserEntryPoint (System.Reflection.MethodInfo entryPoint);

Type Changed: System.Reflection.Emit.OpCode

Added interface:

System.IEquatable<OpCode>

Type Changed: System.Reflection.Emit.ParameterBuilder

Modified properties:

 public ---virtual--- int Attributes { get; }
 public ---virtual--- string Name { get; }
 public ---virtual--- int Position { get; }

Added methods:

public virtual ParameterToken GetToken ();

[Obsolete ("An alternate API is available: Emit the MarshalAs custom attribute instead.")]
public virtual void SetMarshal (UnmanagedMarshal unmanagedMarshal);

Type Changed: System.Reflection.Emit.PropertyBuilder

Removed constructor:

protected PropertyBuilder ();

Removed interface:

System.Runtime.InteropServices._MemberInfo

Added properties:

public override System.Reflection.Module Module { get; }
public PropertyToken PropertyToken { get; }
public override System.Type ReflectedType { get; }

Added methods:

public override System.Reflection.MethodInfo[] GetAccessors (bool nonPublic);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.MethodInfo GetGetMethod (bool nonPublic);
public override System.Reflection.MethodInfo GetSetMethod (bool nonPublic);
public override object GetValue (object obj, object[] index);
public override object GetValue (object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] index, System.Globalization.CultureInfo culture);
public override bool IsDefined (System.Type attributeType, bool inherit);
public override void SetValue (object obj, object value, object[] index);
public override void SetValue (object obj, object value, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] index, System.Globalization.CultureInfo culture);

Type Changed: System.Reflection.Emit.SignatureHelper

Added interface:

System.Runtime.InteropServices._SignatureHelper

Added methods:

public override bool Equals (object obj);
public override int GetHashCode ();
public static SignatureHelper GetMethodSigHelper (System.Runtime.InteropServices.CallingConvention unmanagedCallingConvention, System.Type returnType);
public static SignatureHelper GetMethodSigHelper (System.Reflection.Module mod, System.Runtime.InteropServices.CallingConvention unmanagedCallConv, System.Type returnType);
public override string ToString ();

Type Changed: System.Reflection.Emit.TypeBuilder

Removed constructor:

protected TypeBuilder ();

Removed interfaces:

System.Runtime.InteropServices._MemberInfo
System.Runtime.InteropServices._Type

Added properties:

public override bool ContainsGenericParameters { get; }
public override System.Reflection.MethodBase DeclaringMethod { get; }
public override System.Type DeclaringType { get; }
public override System.Reflection.GenericParameterAttributes GenericParameterAttributes { get; }
public override int GenericParameterPosition { get; }
public override bool IsConstructedGenericType { get; }
public override bool IsGenericParameter { get; }
public override bool IsGenericType { get; }
public override bool IsGenericTypeDefinition { get; }
public override bool IsTypeDefinition { get; }
public override System.Type ReflectedType { get; }
public override System.RuntimeTypeHandle TypeHandle { get; }
public TypeToken TypeToken { get; }
public override System.Type UnderlyingSystemType { get; }

Added methods:

public void AddDeclarativeSecurity (System.Security.Permissions.SecurityAction action, System.Security.PermissionSet pset);
public System.Type CreateType ();
public MethodBuilder DefinePInvokeMethod (string name, string dllName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
public MethodBuilder DefinePInvokeMethod (string name, string dllName, string entryName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] parameterTypes, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
public MethodBuilder DefinePInvokeMethod (string name, string dllName, string entryName, System.Reflection.MethodAttributes attributes, System.Reflection.CallingConventions callingConvention, System.Type returnType, System.Type[] returnTypeRequiredCustomModifiers, System.Type[] returnTypeOptionalCustomModifiers, System.Type[] parameterTypes, System.Type[][] parameterTypeRequiredCustomModifiers, System.Type[][] parameterTypeOptionalCustomModifiers, System.Runtime.InteropServices.CallingConvention nativeCallConv, System.Runtime.InteropServices.CharSet nativeCharSet);
protected override System.Reflection.TypeAttributes GetAttributeFlagsImpl ();
protected override System.Reflection.ConstructorInfo GetConstructorImpl (System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.ConstructorInfo[] GetConstructors (System.Reflection.BindingFlags bindingAttr);
public override object[] GetCustomAttributes (bool inherit);
public override object[] GetCustomAttributes (System.Type attributeType, bool inherit);
public override System.Reflection.EventInfo GetEvent (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.EventInfo[] GetEvents ();
public override System.Reflection.EventInfo[] GetEvents (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo GetField (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.FieldInfo[] GetFields (System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetGenericArguments ();
public override System.Type GetGenericTypeDefinition ();
public override System.Type GetInterface (string name, bool ignoreCase);
public override System.Reflection.InterfaceMapping GetInterfaceMap (System.Type interfaceType);
public override System.Type[] GetInterfaces ();
public override System.Reflection.MemberInfo[] GetMember (string name, System.Reflection.MemberTypes type, System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.MemberInfo[] GetMembers (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.MethodInfo GetMethodImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Reflection.CallingConventions callConvention, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
public override System.Reflection.MethodInfo[] GetMethods (System.Reflection.BindingFlags bindingAttr);
public override System.Type GetNestedType (string name, System.Reflection.BindingFlags bindingAttr);
public override System.Type[] GetNestedTypes (System.Reflection.BindingFlags bindingAttr);
public override System.Reflection.PropertyInfo[] GetProperties (System.Reflection.BindingFlags bindingAttr);
protected override System.Reflection.PropertyInfo GetPropertyImpl (string name, System.Reflection.BindingFlags bindingAttr, System.Reflection.Binder binder, System.Type returnType, System.Type[] types, System.Reflection.ParameterModifier[] modifiers);
protected override bool HasElementTypeImpl ();
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
protected override bool IsArrayImpl ();
public override bool IsAssignableFrom (System.Reflection.TypeInfo typeInfo);
public override bool IsAssignableFrom (System.Type c);
protected override bool IsByRefImpl ();
protected override bool IsCOMObjectImpl ();
public override bool IsDefined (System.Type attributeType, bool inherit);
protected override bool IsPointerImpl ();
protected override bool IsPrimitiveImpl ();
public override bool IsSubclassOf (System.Type c);
protected override bool IsValueTypeImpl ();
public override System.Type MakeArrayType ();
public override System.Type MakeArrayType (int rank);
public override System.Type MakeByRefType ();
public override System.Type MakeGenericType (System.Type[] typeArguments);
public override System.Type MakePointerType ();
public override string ToString ();

New Type: System.Reflection.Emit.DynamicILInfo

public class DynamicILInfo {
	// properties
	public DynamicMethod DynamicMethod { get; }
	// methods
	public int GetTokenFor (byte[] signature);
	public int GetTokenFor (DynamicMethod method);
	public int GetTokenFor (System.RuntimeFieldHandle field);
	public int GetTokenFor (System.RuntimeMethodHandle method);
	public int GetTokenFor (System.RuntimeTypeHandle type);
	public int GetTokenFor (string literal);
	public int GetTokenFor (System.RuntimeFieldHandle field, System.RuntimeTypeHandle contextType);
	public int GetTokenFor (System.RuntimeMethodHandle method, System.RuntimeTypeHandle contextType);
	public void SetCode (byte[] code, int maxStackSize);
	public void SetCode (byte* code, int codeSize, int maxStackSize);
	public void SetExceptions (byte[] exceptions);
	public void SetExceptions (byte* exceptions, int exceptionsSize);
	public void SetLocalSignature (byte[] localSignature);
	public void SetLocalSignature (byte* localSignature, int signatureSize);
}

New Type: System.Reflection.Emit.EventToken

public struct EventToken, System.IEquatable<EventToken> {
	// fields
	public static EventToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (EventToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (EventToken a, EventToken b);
	public static bool op_Inequality (EventToken a, EventToken b);
}

New Type: System.Reflection.Emit.FieldToken

public struct FieldToken, System.IEquatable<FieldToken> {
	// fields
	public static FieldToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (FieldToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (FieldToken a, FieldToken b);
	public static bool op_Inequality (FieldToken a, FieldToken b);
}

New Type: System.Reflection.Emit.MethodRental

public class MethodRental : System.Runtime.InteropServices._MethodRental {
	// fields
	public static const int JitImmediate;
	public static const int JitOnDemand;
	// methods
	public static void SwapMethodBody (System.Type cls, int methodtoken, IntPtr rgIL, int methodSize, int flags);
}

New Type: System.Reflection.Emit.MethodToken

public struct MethodToken, System.IEquatable<MethodToken> {
	// fields
	public static MethodToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (MethodToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (MethodToken a, MethodToken b);
	public static bool op_Inequality (MethodToken a, MethodToken b);
}

New Type: System.Reflection.Emit.ParameterToken

public struct ParameterToken, System.IEquatable<ParameterToken> {
	// fields
	public static ParameterToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (ParameterToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (ParameterToken a, ParameterToken b);
	public static bool op_Inequality (ParameterToken a, ParameterToken b);
}

New Type: System.Reflection.Emit.PropertyToken

public struct PropertyToken, System.IEquatable<PropertyToken> {
	// fields
	public static PropertyToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (PropertyToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (PropertyToken a, PropertyToken b);
	public static bool op_Inequality (PropertyToken a, PropertyToken b);
}

New Type: System.Reflection.Emit.SignatureToken

public struct SignatureToken, System.IEquatable<SignatureToken> {
	// fields
	public static SignatureToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (SignatureToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (SignatureToken a, SignatureToken b);
	public static bool op_Inequality (SignatureToken a, SignatureToken b);
}

New Type: System.Reflection.Emit.StringToken

public struct StringToken, System.IEquatable<StringToken> {
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (StringToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (StringToken a, StringToken b);
	public static bool op_Inequality (StringToken a, StringToken b);
}

New Type: System.Reflection.Emit.TypeToken

public struct TypeToken, System.IEquatable<TypeToken> {
	// fields
	public static TypeToken Empty;
	// properties
	public int Token { get; }
	// methods
	public override bool Equals (object obj);
	public virtual bool Equals (TypeToken obj);
	public override int GetHashCode ();
	public static bool op_Equality (TypeToken a, TypeToken b);
	public static bool op_Inequality (TypeToken a, TypeToken b);
}

New Type: System.Reflection.Emit.UnmanagedMarshal

[Serializable]
public sealed class UnmanagedMarshal {
	// properties
	public System.Runtime.InteropServices.UnmanagedType BaseType { get; }
	public int ElementCount { get; }
	public System.Runtime.InteropServices.UnmanagedType GetUnmanagedType { get; }
	public System.Guid IIDGuid { get; }
	// methods
	public static UnmanagedMarshal DefineByValArray (int elemCount);
	public static UnmanagedMarshal DefineByValTStr (int elemCount);
	public static UnmanagedMarshal DefineLPArray (System.Runtime.InteropServices.UnmanagedType elemType);
	public static UnmanagedMarshal DefineUnmanagedMarshal (System.Runtime.InteropServices.UnmanagedType unmanagedType);
}

Namespace System.Runtime

New Type: System.Runtime.AmbiguousImplementationException

[Serializable]
public sealed class AmbiguousImplementationException : System.Exception, Serialization.ISerializable {
	// constructors
	public AmbiguousImplementationException ();
	public AmbiguousImplementationException (string message);
	public AmbiguousImplementationException (string message, System.Exception innerException);
}

Namespace System.Runtime.CompilerServices

Type Changed: System.Runtime.CompilerServices.ConditionalWeakTable`2

Added methods:

public void AddOrUpdate (TKey key, TValue value);
public void Clear ();

Type Changed: System.Runtime.CompilerServices.RuntimeFeature

Added field:

public static const string DefaultImplementationsOfInterfaces = "DefaultImplementationsOfInterfaces";

Added properties:

public static bool IsDynamicCodeCompiled { get; }
public static bool IsDynamicCodeSupported { get; }

Type Changed: System.Runtime.CompilerServices.RuntimeHelpers

Added methods:

public static T[] GetSubArray<T> (T[] array, System.Range range);
public static object GetUninitializedObject (System.Type type);

New Type: System.Runtime.CompilerServices.AsyncIteratorMethodBuilder

public struct AsyncIteratorMethodBuilder {
	// methods
	public void AwaitOnCompleted<TAwaiter, TStateMachine> (ref TAwaiter awaiter, ref TStateMachine stateMachine);
	public void AwaitUnsafeOnCompleted<TAwaiter, TStateMachine> (ref TAwaiter awaiter, ref TStateMachine stateMachine);
	public void Complete ();
	public static AsyncIteratorMethodBuilder Create ();
	public void MoveNext<TStateMachine> (ref TStateMachine stateMachine);
}

New Type: System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute

public sealed class AsyncIteratorStateMachineAttribute : System.Runtime.CompilerServices.StateMachineAttribute {
	// constructors
	public AsyncIteratorStateMachineAttribute (System.Type stateMachineType);
}

New Type: System.Runtime.CompilerServices.ConfiguredAsyncDisposable

public struct ConfiguredAsyncDisposable {
	// methods
	public ConfiguredValueTaskAwaitable DisposeAsync ();
}

New Type: System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1

public struct ConfiguredCancelableAsyncEnumerable`1 {
	// methods
	public System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> ConfigureAwait (bool continueOnCapturedContext);
	public System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<Enumerator[T> GetAsyncEnumerator ();
	public System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> WithCancellation (System.Threading.CancellationToken cancellationToken);

	// inner types
	public struct Enumerator {
		// properties
		public T Current { get; }
		// methods
		public ConfiguredValueTaskAwaitable DisposeAsync ();
		public System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable<bool> MoveNextAsync ();
	}
}

New Type: System.Runtime.CompilerServices.EnumeratorCancellationAttribute

public sealed class EnumeratorCancellationAttribute : System.Attribute {
	// constructors
	public EnumeratorCancellationAttribute ();
}

New Type: System.Runtime.CompilerServices.SwitchExpressionException

[Serializable]
public sealed class SwitchExpressionException : System.InvalidOperationException, System.Runtime.Serialization.ISerializable {
	// constructors
	public SwitchExpressionException ();
	public SwitchExpressionException (System.Exception innerException);
	public SwitchExpressionException (object unmatchedValue);
	public SwitchExpressionException (string message);
	public SwitchExpressionException (string message, System.Exception innerException);
	// properties
	public override string Message { get; }
	public object UnmatchedValue { get; }
	// methods
	public override void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);
}

Namespace System.Runtime.InteropServices

Type Changed: System.Runtime.InteropServices.Marshal

Added methods:

public static System.Guid GenerateGuidForType (System.Type type);
public static string GenerateProgIdForType (System.Type type);
public static object GetComObjectData (object obj, object key);
public static IntPtr GetHINSTANCE (System.Reflection.Module m);
public static IntPtr GetIDispatchForObject (object o);
public static object GetTypedObjectForIUnknown (IntPtr pUnk, System.Type t);
public static bool SetComObjectData (object obj, object key, object data);
public static IntPtr StringToCoTaskMemUTF8 (string s);

Namespace System.Runtime.Serialization

New Type: System.Runtime.Serialization.SerializationEventHandler

public sealed delegate SerializationEventHandler : System.MulticastDelegate, System.ICloneable, ISerializable {
	// constructors
	public SerializationEventHandler (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (StreamingContext context, System.AsyncCallback callback, object object);
	public virtual void EndInvoke (System.IAsyncResult result);
	public virtual void Invoke (StreamingContext context);
}

Namespace System.Security.Cryptography

Type Changed: System.Security.Cryptography.AsymmetricAlgorithm

Added methods:

public virtual byte[] ExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters);
public virtual byte[] ExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, PbeParameters pbeParameters);
public virtual byte[] ExportPkcs8PrivateKey ();
public virtual byte[] ExportSubjectPublicKeyInfo ();
public virtual void ImportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportPkcs8PrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportSubjectPublicKeyInfo (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<byte> passwordBytes, PbeParameters pbeParameters, System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportEncryptedPkcs8PrivateKey (System.ReadOnlySpan<char> password, PbeParameters pbeParameters, System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportPkcs8PrivateKey (System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportSubjectPublicKeyInfo (System.Span<byte> destination, out int bytesWritten);

Type Changed: System.Security.Cryptography.CryptoStream

Added constructor:

public CryptoStream (System.IO.Stream stream, ICryptoTransform transform, CryptoStreamMode mode, bool leaveOpen);

Added interface:

System.IAsyncDisposable

Added methods:

public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback callback, object state);
public override System.IAsyncResult BeginWrite (byte[] buffer, int offset, int count, System.AsyncCallback callback, object state);
public override int EndRead (System.IAsyncResult asyncResult);
public override void EndWrite (System.IAsyncResult asyncResult);
public override int ReadByte ();
public override void WriteByte (byte value);

Type Changed: System.Security.Cryptography.DSA

Added methods:

public static DSA Create (int keySizeInBits);
public static DSA Create (DSAParameters parameters);
public virtual bool TryCreateSignature (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm);
public virtual bool VerifySignature (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature);

Type Changed: System.Security.Cryptography.HashAlgorithm

Added methods:

protected virtual void HashCore (System.ReadOnlySpan<byte> source);
public bool TryComputeHash (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashFinal (System.Span<byte> destination, out int bytesWritten);

Type Changed: System.Security.Cryptography.RSA

Added methods:

public static RSA Create (int keySizeInBits);
public static RSA Create (RSAParameters parameters);
public virtual byte[] ExportRSAPrivateKey ();
public virtual byte[] ExportRSAPublicKey ();
public virtual void ImportRSAPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual void ImportRSAPublicKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryDecrypt (System.ReadOnlySpan<byte> data, System.Span<byte> destination, RSAEncryptionPadding padding, out int bytesWritten);
public virtual bool TryEncrypt (System.ReadOnlySpan<byte> data, System.Span<byte> destination, RSAEncryptionPadding padding, out int bytesWritten);
public virtual bool TryExportRSAPrivateKey (System.Span<byte> destination, out int bytesWritten);
public virtual bool TryExportRSAPublicKey (System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding, out int bytesWritten);
public virtual bool TrySignHash (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);
public virtual bool VerifyHash (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm, RSASignaturePadding padding);

Type Changed: System.Security.Cryptography.RandomNumberGenerator

Added methods:

public static void Fill (System.Span<byte> data);
public virtual void GetBytes (System.Span<byte> data);
public static int GetInt32 (int toExclusive);
public static int GetInt32 (int fromInclusive, int toExclusive);
public virtual void GetNonZeroBytes (System.Span<byte> data);

Type Changed: System.Security.Cryptography.Rfc2898DeriveBytes

Added constructors:

public Rfc2898DeriveBytes (byte[] password, byte[] salt, int iterations, HashAlgorithmName hashAlgorithm);
public Rfc2898DeriveBytes (string password, byte[] salt, int iterations, HashAlgorithmName hashAlgorithm);
public Rfc2898DeriveBytes (string password, int saltSize, int iterations, HashAlgorithmName hashAlgorithm);

Added property:

public HashAlgorithmName HashAlgorithm { get; }

New Type: System.Security.Cryptography.CryptographicOperations

public static class CryptographicOperations {
	// methods
	public static bool FixedTimeEquals (System.ReadOnlySpan<byte> left, System.ReadOnlySpan<byte> right);
	public static void ZeroMemory (System.Span<byte> buffer);
}

New Type: System.Security.Cryptography.PbeEncryptionAlgorithm

[Serializable]
public enum PbeEncryptionAlgorithm {
	Aes128Cbc = 1,
	Aes192Cbc = 2,
	Aes256Cbc = 3,
	TripleDes3KeyPkcs12 = 4,
	Unknown = 0,
}

New Type: System.Security.Cryptography.PbeParameters

public sealed class PbeParameters {
	// constructors
	public PbeParameters (PbeEncryptionAlgorithm encryptionAlgorithm, HashAlgorithmName hashAlgorithm, int iterationCount);
	// properties
	public PbeEncryptionAlgorithm EncryptionAlgorithm { get; }
	public HashAlgorithmName HashAlgorithm { get; }
	public int IterationCount { get; }
}

Namespace System.Security.Policy

Type Changed: System.Security.Policy.Evidence

Added constructor:

public Evidence (EvidenceBase[] hostEvidence, EvidenceBase[] assemblyEvidence);

Namespace System.Text

Type Changed: System.Text.Encoding

Added methods:

public virtual int GetByteCount (System.ReadOnlySpan<char> chars);
public virtual int GetBytes (System.ReadOnlySpan<char> chars, System.Span<byte> bytes);
public byte[] GetBytes (string s, int index, int count);
public virtual int GetCharCount (System.ReadOnlySpan<byte> bytes);

Namespace System.Threading

Type Changed: System.Threading.CancellationToken

Added method:

public CancellationTokenRegistration Register (System.Action<object> callback, object state, bool useSynchronizationContext, bool useExecutionContext);

Type Changed: System.Threading.CancellationTokenRegistration

Added interface:

System.IAsyncDisposable

Added methods:

public virtual Tasks.ValueTask DisposeAsync ();
public bool Unregister ();

Type Changed: System.Threading.Interlocked

Added method:

public static void MemoryBarrierProcessWide ();

Type Changed: System.Threading.SpinWait

Added method:

public void SpinOnce (int sleep1Threshold);

Type Changed: System.Threading.Thread

Added method:

public static int GetCurrentProcessorId ();

Type Changed: System.Threading.ThreadPool

Added methods:

public static bool QueueUserWorkItem<TState> (System.Action<TState> callBack, TState state, bool preferLocal);
public static bool UnsafeQueueUserWorkItem<TState> (System.Action<TState> callBack, TState state, bool preferLocal);

Type Changed: System.Threading.Timer

Added interface:

System.IAsyncDisposable

Added method:

public virtual Tasks.ValueTask DisposeAsync ();

Namespace System.Threading.Tasks

New Type: System.Threading.Tasks.TaskAsyncEnumerableExtensions

public static class TaskAsyncEnumerableExtensions {
	// methods
	public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> ConfigureAwait<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, bool continueOnCapturedContext);
	public static System.Runtime.CompilerServices.ConfiguredAsyncDisposable ConfigureAwait (this System.IAsyncDisposable source, bool continueOnCapturedContext);
	public static System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable<T> WithCancellation<T> (this System.Collections.Generic.IAsyncEnumerable<T> source, System.Threading.CancellationToken cancellationToken);
}

Namespace System.Threading.Tasks.Sources

New Type: System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1

public struct ManualResetValueTaskSourceCore`1 {
	// properties
	public bool RunContinuationsAsynchronously { get; set; }
	public short Version { get; }
	// methods
	public TResult GetResult (short token);
	public ValueTaskSourceStatus GetStatus (short token);
	public void OnCompleted (System.Action<object> continuation, object state, short token, ValueTaskSourceOnCompletedFlags flags);
	public void Reset ();
	public void SetException (System.Exception error);
	public void SetResult (TResult result);
}

New Namespace System.IO.Enumeration

New Type: System.IO.Enumeration.FileSystemEntry

public struct FileSystemEntry {
	// properties
	public System.IO.FileAttributes Attributes { get; }
	public System.DateTimeOffset CreationTimeUtc { get; }
	public System.ReadOnlySpan<char> Directory { get; }
	public System.ReadOnlySpan<char> FileName { get; }
	public bool IsDirectory { get; }
	public bool IsHidden { get; }
	public System.DateTimeOffset LastAccessTimeUtc { get; }
	public System.DateTimeOffset LastWriteTimeUtc { get; }
	public long Length { get; }
	public System.ReadOnlySpan<char> OriginalRootDirectory { get; }
	public System.ReadOnlySpan<char> RootDirectory { get; }
	// methods
	public System.IO.FileSystemInfo ToFileSystemInfo ();
	public string ToFullPath ();
	public string ToSpecifiedFullPath ();

	// inner types
	public struct <_fileNameBuffer>e__FixedBuffer {
		// fields
		public char FixedElementField;
	}
}

New Type: System.IO.Enumeration.FileSystemEnumerable`1

public class FileSystemEnumerable`1 : System.Collections.Generic.IEnumerable<TResult>, System.Collections.IEnumerable {
	// constructors
	public FileSystemEnumerable`1 (string directory, System.IO.Enumeration.FileSystemEnumerable<FindTransform[TResult> transform, ptions options);
	// properties
	public System.IO.Enumeration.FileSystemEnumerable<FindPredicate[TResult> ShouldIncludePredicate { get; set; }
	public System.IO.Enumeration.FileSystemEnumerable<FindPredicate[TResult> ShouldRecursePredicate { get; set; }
	// methods
	public virtual System.Collections.Generic.IEnumerator<TResult> GetEnumerator ();

	// inner types
	public sealed delegate FindPredicate : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
		// constructors
		public FileSystemEnumerable`1.FindPredicate (object object, IntPtr method);
		// methods
		public virtual System.IAsyncResult BeginInvoke (ref FileSystemEntry entry, System.AsyncCallback callback, object object);
		public virtual bool EndInvoke (ref FileSystemEntry entry, System.IAsyncResult result);
		public virtual bool Invoke (ref FileSystemEntry entry);
	}
	public sealed delegate FindTransform : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
		// constructors
		public FileSystemEnumerable`1.FindTransform (object object, IntPtr method);
		// methods
		public virtual System.IAsyncResult BeginInvoke (ref FileSystemEntry entry, System.AsyncCallback callback, object object);
		public virtual TResult EndInvoke (ref FileSystemEntry entry, System.IAsyncResult result);
		public virtual TResult Invoke (ref FileSystemEntry entry);
	}
}

New Type: System.IO.Enumeration.FileSystemEnumerator`1

public abstract class FileSystemEnumerator`1 : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, System.Collections.Generic.IEnumerator<TResult>, System.Collections.IEnumerator, System.IDisposable {
	// constructors
	public FileSystemEnumerator`1 (string directory, ptions options);
	// properties
	public virtual TResult Current { get; }
	// methods
	protected virtual bool ContinueOnError (int error);
	public virtual void Dispose ();
	protected virtual void Dispose (bool disposing);
	public virtual bool MoveNext ();
	protected virtual void OnDirectoryFinished (System.ReadOnlySpan<char> directory);
	public virtual void Reset ();
	protected virtual bool ShouldIncludeEntry (ref FileSystemEntry entry);
	protected virtual bool ShouldRecurseIntoEntry (ref FileSystemEntry entry);
	protected virtual TResult TransformEntry (ref FileSystemEntry entry);
	protected override void ~FileSystemEnumerator ();
}

New Type: System.IO.Enumeration.FileSystemName

public static class FileSystemName {
	// methods
	public static bool MatchesSimpleExpression (System.ReadOnlySpan<char> expression, System.ReadOnlySpan<char> name, bool ignoreCase);
	public static bool MatchesWin32Expression (System.ReadOnlySpan<char> expression, System.ReadOnlySpan<char> name, bool ignoreCase);
	public static string TranslateWin32Expression (string expression);
}

System.Core.dll

Namespace System.IO.MemoryMappedFiles

Type Changed: System.IO.MemoryMappedFiles.MemoryMappedViewStream

Added interface:

System.IAsyncDisposable

Namespace System.IO.Pipes

Type Changed: System.IO.Pipes.AnonymousPipeClientStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.AnonymousPipeServerStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.NamedPipeClientStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.NamedPipeServerStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Pipes.PipeStream

Added interface:

System.IAsyncDisposable

Namespace System.Linq.Expressions

Type Changed: System.Linq.Expressions.LambdaExpression

Added methods:

public void CompileToMethod (System.Reflection.Emit.MethodBuilder method);
public void CompileToMethod (System.Reflection.Emit.MethodBuilder method, System.Runtime.CompilerServices.DebugInfoGenerator debugInfoGenerator);

Namespace System.Runtime.CompilerServices

Type Changed: System.Runtime.CompilerServices.RuntimeOps

Added methods:


[Obsolete ("do not use this method")]
public static IRuntimeVariables MergeRuntimeVariables (IRuntimeVariables first, IRuntimeVariables second, int[] indexes);

[Obsolete ("do not use this method")]
public static System.Linq.Expressions.Expression Quote (System.Linq.Expressions.Expression expression, object hoistedLocals, object[] locals);

Namespace System.Runtime.InteropServices

Type Changed: System.Runtime.InteropServices.ComAwareEventInfo

Removed interface:

_MemberInfo

Namespace System.Security.Cryptography

Type Changed: System.Security.Cryptography.ECDsa

Added methods:

public virtual byte[] ExportECPrivateKey ();
public virtual void ImportECPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
public virtual bool TryExportECPrivateKey (System.Span<byte> destination, out int bytesWritten);
protected virtual bool TryHashData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignData (System.ReadOnlySpan<byte> data, System.Span<byte> destination, HashAlgorithmName hashAlgorithm, out int bytesWritten);
public virtual bool TrySignHash (System.ReadOnlySpan<byte> hash, System.Span<byte> destination, out int bytesWritten);
public virtual bool VerifyData (System.ReadOnlySpan<byte> data, System.ReadOnlySpan<byte> signature, HashAlgorithmName hashAlgorithm);
public virtual bool VerifyHash (System.ReadOnlySpan<byte> hash, System.ReadOnlySpan<byte> signature);

Type Changed: System.Security.Cryptography.IncrementalHash

Added methods:

public void AppendData (System.ReadOnlySpan<byte> data);
public bool TryGetHashAndReset (System.Span<byte> destination, out int bytesWritten);

New Type: System.Security.Cryptography.ECDiffieHellman

public abstract class ECDiffieHellman : System.Security.Cryptography.AsymmetricAlgorithm, System.IDisposable {
	// constructors
	protected ECDiffieHellman ();
	// properties
	public override string KeyExchangeAlgorithm { get; }
	public virtual ECDiffieHellmanPublicKey PublicKey { get; }
	public override string SignatureAlgorithm { get; }
	// methods
	public static ECDiffieHellman Create ();
	public static ECDiffieHellman Create (ECCurve curve);
	public static ECDiffieHellman Create (ECParameters parameters);
	public static ECDiffieHellman Create (string algorithm);
	public byte[] DeriveKeyFromHash (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm);
	public virtual byte[] DeriveKeyFromHash (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] secretPrepend, byte[] secretAppend);
	public byte[] DeriveKeyFromHmac (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] hmacKey);
	public virtual byte[] DeriveKeyFromHmac (ECDiffieHellmanPublicKey otherPartyPublicKey, HashAlgorithmName hashAlgorithm, byte[] hmacKey, byte[] secretPrepend, byte[] secretAppend);
	public virtual byte[] DeriveKeyMaterial (ECDiffieHellmanPublicKey otherPartyPublicKey);
	public virtual byte[] DeriveKeyTls (ECDiffieHellmanPublicKey otherPartyPublicKey, byte[] prfLabel, byte[] prfSeed);
	public virtual byte[] ExportECPrivateKey ();
	public virtual ECParameters ExportExplicitParameters (bool includePrivateParameters);
	public virtual ECParameters ExportParameters (bool includePrivateParameters);
	public virtual void GenerateKey (ECCurve curve);
	public virtual void ImportECPrivateKey (System.ReadOnlySpan<byte> source, out int bytesRead);
	public virtual void ImportParameters (ECParameters parameters);
	public virtual bool TryExportECPrivateKey (System.Span<byte> destination, out int bytesWritten);
}

Namespace System.Security.Cryptography.X509Certificates

Type Changed: System.Security.Cryptography.X509Certificates.ECDsaCertificateExtensions

Added method:

public static X509Certificate2 CopyWithPrivateKey (this X509Certificate2 certificate, System.Security.Cryptography.ECDsa privateKey);

Type Changed: System.Security.Cryptography.X509Certificates.RSACertificateExtensions

Added method:

public static X509Certificate2 CopyWithPrivateKey (this X509Certificate2 certificate, System.Security.Cryptography.RSA privateKey);

New Namespace System.Net.Sockets

New Type: System.Net.Sockets.UnixDomainSocketEndPoint

public sealed class UnixDomainSocketEndPoint : System.Net.EndPoint {
	// constructors
	public UnixDomainSocketEndPoint (string path);
	// properties
	public override AddressFamily AddressFamily { get; }
	// methods
	public override System.Net.EndPoint Create (System.Net.SocketAddress socketAddress);
	public override System.Net.SocketAddress Serialize ();
	public override string ToString ();
}

New Namespace System.Reflection

New Type: System.Reflection.DispatchProxy

public abstract class DispatchProxy {
	// constructors
	protected DispatchProxy ();
	// methods
	public static T Create<T, TProxy> ();
	protected virtual object Invoke (MethodInfo targetMethod, object[] args);
}

System.Data.dll

Namespace System.Data.Common

New Type: System.Data.Common.DbProviderFactories

public static class DbProviderFactories {
	// methods
	public static DbProviderFactory GetFactory (DbConnection connection);
	public static DbProviderFactory GetFactory (System.Data.DataRow providerRow);
	public static DbProviderFactory GetFactory (string providerInvariantName);
	public static System.Data.DataTable GetFactoryClasses ();
	public static System.Collections.Generic.IEnumerable<string> GetProviderInvariantNames ();
	public static void RegisterFactory (string providerInvariantName, DbProviderFactory factory);
	public static void RegisterFactory (string providerInvariantName, string factoryTypeAssemblyQualifiedName);
	public static void RegisterFactory (string providerInvariantName, System.Type providerFactoryClass);
	public static bool TryGetFactory (string providerInvariantName, out DbProviderFactory factory);
	public static bool UnregisterFactory (string providerInvariantName);
}

System.IO.Compression.dll

Namespace System.IO.Compression

New Type: System.IO.Compression.BrotliDecoder

public struct BrotliDecoder, System.IDisposable {
	// methods
	public System.Buffers.OperationStatus Decompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten);
	public virtual void Dispose ();
	public static bool TryDecompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
}

New Type: System.IO.Compression.BrotliEncoder

public struct BrotliEncoder, System.IDisposable {
	// constructors
	public BrotliEncoder (int quality, int window);
	// methods
	public System.Buffers.OperationStatus Compress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten, bool isFinalBlock);
	public virtual void Dispose ();
	public System.Buffers.OperationStatus Flush (System.Span<byte> destination, out int bytesWritten);
	public static int GetMaxCompressedLength (int length);
	public static bool TryCompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten);
	public static bool TryCompress (System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesWritten, int quality, int window);
}

New Type: System.IO.Compression.BrotliStream

public sealed class BrotliStream : System.IO.Stream, System.IAsyncDisposable, System.IDisposable {
	// constructors
	public BrotliStream (System.IO.Stream stream, CompressionLevel compressionLevel);
	public BrotliStream (System.IO.Stream stream, CompressionMode mode);
	public BrotliStream (System.IO.Stream stream, CompressionLevel compressionLevel, bool leaveOpen);
	public BrotliStream (System.IO.Stream stream, CompressionMode mode, bool leaveOpen);
	// properties
	public System.IO.Stream BaseStream { get; }
	public override bool CanRead { get; }
	public override bool CanSeek { get; }
	public override bool CanWrite { get; }
	public override long Length { get; }
	public override long Position { get; set; }
	// methods
	public override System.IAsyncResult BeginRead (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
	public override System.IAsyncResult BeginWrite (byte[] buffer, int offset, int count, System.AsyncCallback asyncCallback, object asyncState);
	protected override void Dispose (bool disposing);
	public override int EndRead (System.IAsyncResult asyncResult);
	public override void EndWrite (System.IAsyncResult asyncResult);
	public override void Flush ();
	public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);
	public override int Read (System.Span<byte> buffer);
	public override int Read (byte[] buffer, int offset, int count);
	public override System.Threading.Tasks.ValueTask<int> ReadAsync (System.Memory<byte> buffer, System.Threading.CancellationToken cancellationToken);
	public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
	public override long Seek (long offset, System.IO.SeekOrigin origin);
	public override void SetLength (long value);
	public override void Write (System.ReadOnlySpan<byte> buffer);
	public override void Write (byte[] buffer, int offset, int count);
	public override System.Threading.Tasks.ValueTask WriteAsync (System.ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken);
	public override System.Threading.Tasks.Task WriteAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
}

System.dll

Namespace System.CodeDom.Compiler

Type Changed: System.CodeDom.Compiler.IndentedTextWriter

Added interface:

System.IAsyncDisposable

Namespace System.Collections.Generic

Removed Type System.Collections.Generic.Queue`1

Removed Type System.Collections.Generic.Stack`1

Namespace System.ComponentModel

Type Changed: System.ComponentModel.BaseNumberConverter

Removed constructor:

protected BaseNumberConverter ();

Namespace System.Diagnostics

Type Changed: System.Diagnostics.ProcessStartInfo

Added properties:

public System.Collections.ObjectModel.Collection<string> ArgumentList { get; }
public System.Text.Encoding StandardInputEncoding { get; set; }

Namespace System.IO.Compression

Type Changed: System.IO.Compression.DeflateStream

Added interface:

System.IAsyncDisposable

Type Changed: System.IO.Compression.GZipStream

Added interface:

System.IAsyncDisposable

Namespace System.Net

Type Changed: System.Net.HttpStatusCode

Added values:

AlreadyReported = 208,
EarlyHints = 103,
FailedDependency = 424,
IMUsed = 226,
InsufficientStorage = 507,
Locked = 423,
LoopDetected = 508,
MisdirectedRequest = 421,
MultiStatus = 207,
NetworkAuthenticationRequired = 511,
NotExtended = 510,
PermanentRedirect = 308,
PreconditionRequired = 428,
Processing = 102,
RequestHeaderFieldsTooLarge = 431,
TooManyRequests = 429,
UnavailableForLegalReasons = 451,
UnprocessableEntity = 422,
VariantAlsoNegotiates = 506,

Type Changed: System.Net.HttpVersion

Added fields:

public static System.Version Unknown;
public static System.Version Version20;

Type Changed: System.Net.HttpWebResponse

Added constructor:

public HttpWebResponse ();

Type Changed: System.Net.IPAddress

Added constructors:

public IPAddress (System.ReadOnlySpan<byte> address);
public IPAddress (System.ReadOnlySpan<byte> address, long scopeid);

Added methods:

public static IPAddress Parse (System.ReadOnlySpan<char> ipSpan);
public bool TryFormat (System.Span<char> destination, out int charsWritten);
public static bool TryParse (System.ReadOnlySpan<char> ipSpan, out IPAddress address);
public bool TryWriteBytes (System.Span<byte> destination, out int bytesWritten);

Type Changed: System.Net.SecurityProtocolType

Added value:

Tls13 = 12288,

Namespace System.Net.Security

Type Changed: System.Net.Security.AuthenticatedStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Security.NegotiateStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Security.SslStream

Added interface:

System.IAsyncDisposable

Added property:

public SslApplicationProtocol NegotiatedApplicationProtocol { get; }

Added methods:

public virtual void AuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public System.Threading.Tasks.Task AuthenticateAsClientAsync (SslClientAuthenticationOptions sslClientAuthenticationOptions, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation);
public virtual void AuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public System.Threading.Tasks.Task AuthenticateAsServerAsync (SslServerAuthenticationOptions sslServerAuthenticationOptions, System.Threading.CancellationToken cancellationToken);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation);
public virtual System.IAsyncResult BeginAuthenticateAsClient (string targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public virtual System.IAsyncResult BeginAuthenticateAsServer (System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool checkCertificateRevocation, System.AsyncCallback asyncCallback, object asyncState);
public override System.Threading.Tasks.ValueTask DisposeAsync ();
public override System.Threading.Tasks.Task FlushAsync (System.Threading.CancellationToken cancellationToken);

New Type: System.Net.Security.ServerCertificateSelectionCallback

public sealed delegate ServerCertificateSelectionCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public ServerCertificateSelectionCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (object sender, string hostName, System.AsyncCallback callback, object object);
	public virtual System.Security.Cryptography.X509Certificates.X509Certificate EndInvoke (System.IAsyncResult result);
	public virtual System.Security.Cryptography.X509Certificates.X509Certificate Invoke (object sender, string hostName);
}

New Type: System.Net.Security.SslApplicationProtocol

public struct SslApplicationProtocol, System.IEquatable<SslApplicationProtocol> {
	// constructors
	public SslApplicationProtocol (byte[] protocol);
	public SslApplicationProtocol (string protocol);
	// fields
	public static SslApplicationProtocol Http11;
	public static SslApplicationProtocol Http2;
	// properties
	public System.ReadOnlyMemory<byte> Protocol { get; }
	// methods
	public virtual bool Equals (SslApplicationProtocol other);
	public override bool Equals (object obj);
	public override int GetHashCode ();
	public override string ToString ();
	public static bool op_Equality (SslApplicationProtocol left, SslApplicationProtocol right);
	public static bool op_Inequality (SslApplicationProtocol left, SslApplicationProtocol right);
}

New Type: System.Net.Security.SslClientAuthenticationOptions

public class SslClientAuthenticationOptions {
	// constructors
	public SslClientAuthenticationOptions ();
	// properties
	public bool AllowRenegotiation { get; set; }
	public System.Collections.Generic.List<SslApplicationProtocol> ApplicationProtocols { get; set; }
	public System.Security.Cryptography.X509Certificates.X509RevocationMode CertificateRevocationCheckMode { get; set; }
	public System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates { get; set; }
	public System.Security.Authentication.SslProtocols EnabledSslProtocols { get; set; }
	public EncryptionPolicy EncryptionPolicy { get; set; }
	public LocalCertificateSelectionCallback LocalCertificateSelectionCallback { get; set; }
	public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
	public string TargetHost { get; set; }
}

New Type: System.Net.Security.SslServerAuthenticationOptions

public class SslServerAuthenticationOptions {
	// constructors
	public SslServerAuthenticationOptions ();
	// properties
	public bool AllowRenegotiation { get; set; }
	public System.Collections.Generic.List<SslApplicationProtocol> ApplicationProtocols { get; set; }
	public System.Security.Cryptography.X509Certificates.X509RevocationMode CertificateRevocationCheckMode { get; set; }
	public bool ClientCertificateRequired { get; set; }
	public System.Security.Authentication.SslProtocols EnabledSslProtocols { get; set; }
	public EncryptionPolicy EncryptionPolicy { get; set; }
	public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
	public System.Security.Cryptography.X509Certificates.X509Certificate ServerCertificate { get; set; }
	public ServerCertificateSelectionCallback ServerCertificateSelectionCallback { get; set; }
}

Namespace System.Net.Sockets

Type Changed: System.Net.Sockets.NetworkStream

Added interface:

System.IAsyncDisposable

Type Changed: System.Net.Sockets.Socket

Added methods:

public int Receive (System.Span<byte> buffer);
public int Receive (System.Span<byte> buffer, SocketFlags socketFlags, out SocketError errorCode);
public int Send (System.ReadOnlySpan<byte> buffer);
public int Send (System.ReadOnlySpan<byte> buffer, SocketFlags socketFlags, out SocketError errorCode);

Type Changed: System.Net.Sockets.SocketAsyncEventArgs

Added property:

public System.Memory<byte> MemoryBuffer { get; }

Added method:

public void SetBuffer (System.Memory<byte> buffer);

Type Changed: System.Net.Sockets.SocketTaskExtensions

Added methods:

public static System.Threading.Tasks.ValueTask<int> ReceiveAsync (this Socket socket, System.Memory<byte> memory, SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken);
public static System.Threading.Tasks.ValueTask<int> SendAsync (this Socket socket, System.ReadOnlyMemory<byte> buffer, SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken);

Namespace System.Security.Authentication

Type Changed: System.Security.Authentication.HashAlgorithmType

Added values:

Sha256 = 32780,
Sha384 = 32781,
Sha512 = 32782,

Type Changed: System.Security.Authentication.SslProtocols

Added value:

Tls13 = 12288,

Namespace System.Security.Cryptography.X509Certificates

Type Changed: System.Security.Cryptography.X509Certificates.X509Certificate2

Removed method:

public override byte[] Export (X509ContentType contentType, string password);

Type Changed: System.Security.Cryptography.X509Certificates.X509Store

Added constructors:

public X509Store (StoreName storeName, StoreLocation storeLocation, OpenFlags openFlags);
public X509Store (string storeName, StoreLocation storeLocation, OpenFlags openFlags);

Added property:

public bool IsOpen { get; }

New Type: System.Security.Cryptography.X509Certificates.CertificateRequest

public sealed class CertificateRequest {
	// constructors
	public CertificateRequest (X500DistinguishedName subjectName, System.Security.Cryptography.ECDsa key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (X500DistinguishedName subjectName, PublicKey publicKey, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (string subjectName, System.Security.Cryptography.ECDsa key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public CertificateRequest (X500DistinguishedName subjectName, System.Security.Cryptography.RSA key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
	public CertificateRequest (string subjectName, System.Security.Cryptography.RSA key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding);
	// properties
	public System.Collections.ObjectModel.Collection<X509Extension> CertificateExtensions { get; }
	public System.Security.Cryptography.HashAlgorithmName HashAlgorithm { get; }
	public PublicKey PublicKey { get; }
	public X500DistinguishedName SubjectName { get; }
	// methods
	public X509Certificate2 Create (X509Certificate2 issuerCertificate, System.DateTimeOffset notBefore, System.DateTimeOffset notAfter, byte[] serialNumber);
	public X509Certificate2 Create (X500DistinguishedName issuerName, X509SignatureGenerator generator, System.DateTimeOffset notBefore, System.DateTimeOffset notAfter, byte[] serialNumber);
	public X509Certificate2 CreateSelfSigned (System.DateTimeOffset notBefore, System.DateTimeOffset notAfter);
	public byte[] CreateSigningRequest ();
	public byte[] CreateSigningRequest (X509SignatureGenerator signatureGenerator);
}

New Type: System.Security.Cryptography.X509Certificates.SubjectAlternativeNameBuilder

public sealed class SubjectAlternativeNameBuilder {
	// constructors
	public SubjectAlternativeNameBuilder ();
	// methods
	public void AddDnsName (string dnsName);
	public void AddEmailAddress (string emailAddress);
	public void AddIpAddress (System.Net.IPAddress ipAddress);
	public void AddUri (System.Uri uri);
	public void AddUserPrincipalName (string upn);
	public X509Extension Build (bool critical);
}

New Type: System.Security.Cryptography.X509Certificates.X509SignatureGenerator

public abstract class X509SignatureGenerator {
	// constructors
	protected X509SignatureGenerator ();
	// properties
	public PublicKey PublicKey { get; }
	// methods
	protected virtual PublicKey BuildPublicKey ();
	public static X509SignatureGenerator CreateForECDsa (System.Security.Cryptography.ECDsa key);
	public static X509SignatureGenerator CreateForRSA (System.Security.Cryptography.RSA key, System.Security.Cryptography.RSASignaturePadding signaturePadding);
	public virtual byte[] GetSignatureAlgorithmIdentifier (System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
	public virtual byte[] SignData (byte[] data, System.Security.Cryptography.HashAlgorithmName hashAlgorithm);
}

Removed Namespace System.IO.Enumeration

Removed Type System.IO.Enumeration.FileSystemName

New Namespace Mono.Security.Cryptography

New Type: Mono.Security.Cryptography.PKCS8

public sealed class PKCS8 {
	// methods
	public static PKCS8.KeyInfo GetType (byte[] data);

	// inner types
	public class EncryptedPrivateKeyInfo {
		// constructors
		public PKCS8.EncryptedPrivateKeyInfo ();
		public PKCS8.EncryptedPrivateKeyInfo (byte[] data);
		// properties
		public string Algorithm { get; set; }
		public byte[] EncryptedData { get; set; }
		public int IterationCount { get; set; }
		public byte[] Salt { get; set; }
		// methods
		public byte[] GetBytes ();
	}
	[Serializable]
	public enum KeyInfo {
		EncryptedPrivateKey = 1,
		PrivateKey = 0,
		Unknown = 2,
	}
	public class PrivateKeyInfo {
		// constructors
		public PKCS8.PrivateKeyInfo ();
		public PKCS8.PrivateKeyInfo (byte[] data);
		// properties
		public string Algorithm { get; set; }
		public System.Collections.ArrayList Attributes { get; }
		public byte[] PrivateKey { get; set; }
		public int Version { get; set; }
		// methods
		public static System.Security.Cryptography.DSA DecodeDSA (byte[] privateKey, System.Security.Cryptography.DSAParameters dsaParameters);
		public static System.Security.Cryptography.RSA DecodeRSA (byte[] keypair);
		public static byte[] Encode (System.Security.Cryptography.AsymmetricAlgorithm aa);
		public static byte[] Encode (System.Security.Cryptography.DSA dsa);
		public static byte[] Encode (System.Security.Cryptography.RSA rsa);
		public byte[] GetBytes ();
	}
}

System.Net.Http.dll

Namespace System.Net.Http

Type Changed: System.Net.Http.HttpClient

Added methods:

public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (string requestUri, HttpContent content);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (System.Uri requestUri, HttpContent content);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (string requestUri, HttpContent content, System.Threading.CancellationToken cancellationToken);
public System.Threading.Tasks.Task<HttpResponseMessage> PatchAsync (System.Uri requestUri, HttpContent content, System.Threading.CancellationToken cancellationToken);

Type Changed: System.Net.Http.HttpClientHandler

Added property:

public static System.Func<HttpRequestMessage,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors,System.Boolean> DangerousAcceptAnyServerCertificateValidator { get; }

Type Changed: System.Net.Http.HttpMethod

Added property:

public static HttpMethod Patch { get; }

Removed Type System.Net.Http.NSUrlSessionHandler

New Type: System.Net.Http.ReadOnlyMemoryContent

public sealed class ReadOnlyMemoryContent : System.Net.Http.HttpContent, System.IDisposable {
	// constructors
	public ReadOnlyMemoryContent (System.ReadOnlyMemory<byte> content);
	// methods
	protected override System.Threading.Tasks.Task SerializeToStreamAsync (System.IO.Stream stream, System.Net.TransportContext context);
	protected override bool TryComputeLength (out long length);
}

System.ServiceModel.dll

Namespace System.Collections.Generic

Type Changed: System.Collections.Generic.SynchronizedCollection`1

Removed constructor:

public SynchronizedCollection`1 (object syncRoot, System.Collections.Generic.List<T> list, bool makeCopy);

Type Changed: System.Collections.Generic.SynchronizedReadOnlyCollection`1

Removed constructor:

public SynchronizedReadOnlyCollection`1 (object sync_root, System.Collections.Generic.List<T> list, bool make_copy);

System.Xml.dll

Namespace System.Xml.Serialization

Type Changed: System.Xml.Serialization.XmlSchemaImporter

Modified base type:

-System.Object
+System.Xml.Serialization.SchemaImporter

New Type: System.Xml.Serialization.SchemaImporter

public abstract class SchemaImporter {
	// constructors
	protected SchemaImporter ();
}

Xamarin.WatchOS.dll

Namespace Compression

Type Changed: Compression.CompressionStream

Added interface:

System.IAsyncDisposable

Namespace CoreGraphics

Type Changed: CoreGraphics.CGPattern

Modified base type:

-System.Object
+CoreFoundation.NativeObject

Removed property:

public virtual IntPtr Handle { get; }

Removed methods:

public virtual void Dispose ();
protected virtual void Dispose (bool disposing);
protected override void ~CGPattern ();

Added methods:

protected override void Release ();
protected override void Retain ();

Namespace Foundation

Type Changed: Foundation.NSArray

Added methods:

public static NSArray FromNSObjects<T> (T[0...,0...] items);
public static NSArray FromNSObjects<T> (T[][] items);

Type Changed: Foundation.NSDataDetector

Added constructors:

public NSDataDetector (NSTextCheckingType options, out NSError error);
public NSDataDetector (NSTextCheckingTypes options, out NSError error);

Added method:

public static NSDataDetector Create (NSTextCheckingType checkingTypes, out NSError error);

Type Changed: Foundation.NSRegularExpression

Obsoleted methods:

 [Obsolete ("Use 'GetMatches2' instead, this method has the wrong return type.")]
 public virtual NSString[] GetMatches (NSString str, NSMatchingOptions options, NSRange range);

Added methods:

public static NSRegularExpression Create (NSString pattern, NSRegularExpressionOptions options, out NSError error);
public NSTextCheckingResult[] GetMatches2 (NSString str, NSMatchingOptions options, NSRange range);

Type Changed: Foundation.NSRegularExpressionOptions

Added value:

UseUnixLineSeparators = 32,

Type Changed: Foundation.NSUrlRequestNetworkServiceType

Modified fields:

-ResponsiveData = 5
+ResponsiveData = 6

Namespace Intents

Type Changed: Intents.INCancelWorkoutIntentResponseCode

Modified fields:

-HandleInApp = 7
+HandleInApp = 6
-Success = 6
+Success = 7

Type Changed: Intents.INEndWorkoutIntentResponseCode

Modified fields:

-HandleInApp = 7
+HandleInApp = 6
-Success = 6
+Success = 7

Type Changed: Intents.INPauseWorkoutIntentResponseCode

Modified fields:

-HandleInApp = 7
+HandleInApp = 6
-Success = 6
+Success = 7

Type Changed: Intents.INResumeWorkoutIntentResponseCode

Modified fields:

-HandleInApp = 7
+HandleInApp = 6
-Success = 6
+Success = 7

Type Changed: Intents.INStartWorkoutIntentResponseCode

Modified fields:

-HandleInApp = 8
+HandleInApp = 7
-Success = 7
+Success = 8

Namespace ObjCRuntime

Type Changed: ObjCRuntime.Class

Added interface:

System.IEquatable<Class>

Added methods:

public virtual bool Equals (Class right);
public override bool Equals (object right);
public override int GetHashCode ();

Type Changed: ObjCRuntime.Constants

Modified fields:

-public const string Version = "12.10.0";
+public const string Version = "12.16.0";

Removed Namespace System.Drawing

Removed Type System.Drawing.Color

Removed Type System.Drawing.KnownColor

Removed Type System.Drawing.Point

Removed Type System.Drawing.PointF

Removed Type System.Drawing.Rectangle

Removed Type System.Drawing.RectangleF

Removed Type System.Drawing.Size

Removed Type System.Drawing.SizeF

New Namespace System.Net.Http

New Type: System.Net.Http.NSUrlSessionHandler

public class NSUrlSessionHandler : System.Net.Http.HttpMessageHandler, System.IDisposable {
	// constructors
	public NSUrlSessionHandler ();
	public NSUrlSessionHandler (Foundation.NSUrlSessionConfiguration configuration);
	// properties
	public bool AllowAutoRedirect { get; set; }
	public bool AllowsCellularAccess { get; set; }
	public System.Net.ICredentials Credentials { get; set; }
	public bool DisableCaching { get; set; }
	public long MaxInputInMemory { get; set; }
	public NSUrlSessionHandlerTrustOverrideCallback TrustOverride { get; set; }
	// methods
	protected override void Dispose (bool disposing);
	protected override System.Threading.Tasks.Task<HttpResponseMessage> SendAsync (HttpRequestMessage request, System.Threading.CancellationToken cancellationToken);
}

New Type: System.Net.Http.NSUrlSessionHandlerTrustOverrideCallback

public sealed delegate NSUrlSessionHandlerTrustOverrideCallback : System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable {
	// constructors
	public NSUrlSessionHandlerTrustOverrideCallback (object object, IntPtr method);
	// methods
	public virtual System.IAsyncResult BeginInvoke (NSUrlSessionHandler sender, Security.SecTrust trust, System.AsyncCallback callback, object object);
	public virtual bool EndInvoke (System.IAsyncResult result);
	public virtual bool Invoke (NSUrlSessionHandler sender, Security.SecTrust trust);
}