Revert "Remove not necessary type forwarded from attributes when type comes from...
authorSantiago Fernandez Madero <safern@microsoft.com>
Fri, 31 Aug 2018 18:16:19 +0000 (11:16 -0700)
committerJan Kotas <jkotas@microsoft.com>
Fri, 31 Aug 2018 18:16:19 +0000 (11:16 -0700)
This reverts commit dotnet/coreclr@4fb001d431e0f44df15709f02f776e565fec14c7.

Commit migrated from https://github.com/dotnet/coreclr/commit/3b807944d8822b44eb5085d6b95b130b4a91808f

140 files changed:
src/coreclr/src/System.Private.CoreLib/src/System/AppDomainUnloadedException.cs
src/coreclr/src/System.Private.CoreLib/src/System/Array.cs
src/coreclr/src/System.Private.CoreLib/src/System/Attribute.cs
src/coreclr/src/System.Private.CoreLib/src/System/Collections/Generic/Comparer.cs
src/coreclr/src/System.Private.CoreLib/src/System/Collections/Generic/EqualityComparer.cs
src/coreclr/src/System.Private.CoreLib/src/System/Diagnostics/Contracts/Contracts.cs
src/coreclr/src/System.Private.CoreLib/src/System/Diagnostics/Contracts/ContractsBCL.cs
src/coreclr/src/System.Private.CoreLib/src/System/Enum.cs
src/coreclr/src/System.Private.CoreLib/src/System/Exception.cs
src/coreclr/src/System.Private.CoreLib/src/System/Object.cs
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/COMException.cs
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/InvalidComObjectException.cs
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/InvalidOleVariantTypeException.cs
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/SEHException.cs
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/SafeArrayRankMismatchException.cs
src/coreclr/src/System.Private.CoreLib/src/System/Runtime/InteropServices/SafeArrayTypeMismatchException.cs
src/coreclr/src/System.Private.CoreLib/src/System/TypeLoadException.cs
src/coreclr/src/System.Private.CoreLib/src/System/ValueType.cs
src/coreclr/src/System.Private.CoreLib/src/System/WeakReference.cs
src/coreclr/src/System.Private.CoreLib/src/System/WeakReferenceOfT.cs
src/libraries/System.Private.CoreLib/src/System/AccessViolationException.cs
src/libraries/System.Private.CoreLib/src/System/AggregateException.cs
src/libraries/System.Private.CoreLib/src/System/ApplicationException.cs
src/libraries/System.Private.CoreLib/src/System/ArgumentException.cs
src/libraries/System.Private.CoreLib/src/System/ArgumentNullException.cs
src/libraries/System.Private.CoreLib/src/System/ArgumentOutOfRangeException.cs
src/libraries/System.Private.CoreLib/src/System/ArithmeticException.cs
src/libraries/System.Private.CoreLib/src/System/ArraySegment.cs
src/libraries/System.Private.CoreLib/src/System/ArrayTypeMismatchException.cs
src/libraries/System.Private.CoreLib/src/System/BadImageFormatException.cs
src/libraries/System.Private.CoreLib/src/System/Boolean.cs
src/libraries/System.Private.CoreLib/src/System/Byte.cs
src/libraries/System.Private.CoreLib/src/System/Char.cs
src/libraries/System.Private.CoreLib/src/System/Collections/Comparer.cs
src/libraries/System.Private.CoreLib/src/System/Collections/DictionaryEntry.cs
src/libraries/System.Private.CoreLib/src/System/Collections/Generic/Dictionary.cs
src/libraries/System.Private.CoreLib/src/System/Collections/Generic/KeyNotFoundException.cs
src/libraries/System.Private.CoreLib/src/System/Collections/Generic/KeyValuePair.cs
src/libraries/System.Private.CoreLib/src/System/Collections/Generic/List.cs
src/libraries/System.Private.CoreLib/src/System/Collections/Hashtable.cs
src/libraries/System.Private.CoreLib/src/System/Collections/IHashCodeProvider.cs
src/libraries/System.Private.CoreLib/src/System/Collections/ListDictionaryInternal.cs
src/libraries/System.Private.CoreLib/src/System/Collections/ObjectModel/Collection.cs
src/libraries/System.Private.CoreLib/src/System/Collections/ObjectModel/ReadOnlyCollection.cs
src/libraries/System.Private.CoreLib/src/System/DataMisalignedException.cs
src/libraries/System.Private.CoreLib/src/System/DateTime.cs
src/libraries/System.Private.CoreLib/src/System/DateTimeOffset.cs
src/libraries/System.Private.CoreLib/src/System/Decimal.cs
src/libraries/System.Private.CoreLib/src/System/DivideByZeroException.cs
src/libraries/System.Private.CoreLib/src/System/DllNotFoundException.cs
src/libraries/System.Private.CoreLib/src/System/Double.cs
src/libraries/System.Private.CoreLib/src/System/DuplicateWaitObjectException.cs
src/libraries/System.Private.CoreLib/src/System/EntryPointNotFoundException.cs
src/libraries/System.Private.CoreLib/src/System/EventArgs.cs
src/libraries/System.Private.CoreLib/src/System/ExecutionEngineException.cs
src/libraries/System.Private.CoreLib/src/System/FieldAccessException.cs
src/libraries/System.Private.CoreLib/src/System/FormatException.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CultureNotFoundException.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/SortVersion.cs
src/libraries/System.Private.CoreLib/src/System/Guid.cs
src/libraries/System.Private.CoreLib/src/System/IO/DirectoryNotFoundException.cs
src/libraries/System.Private.CoreLib/src/System/IO/EndOfStreamException.cs
src/libraries/System.Private.CoreLib/src/System/IO/FileLoadException.cs
src/libraries/System.Private.CoreLib/src/System/IO/FileNotFoundException.cs
src/libraries/System.Private.CoreLib/src/System/IO/IOException.cs
src/libraries/System.Private.CoreLib/src/System/IO/PathTooLongException.cs
src/libraries/System.Private.CoreLib/src/System/IndexOutOfRangeException.cs
src/libraries/System.Private.CoreLib/src/System/InsufficientExecutionStackException.cs
src/libraries/System.Private.CoreLib/src/System/InsufficientMemoryException.cs
src/libraries/System.Private.CoreLib/src/System/Int16.cs
src/libraries/System.Private.CoreLib/src/System/Int32.cs
src/libraries/System.Private.CoreLib/src/System/Int64.cs
src/libraries/System.Private.CoreLib/src/System/IntPtr.cs
src/libraries/System.Private.CoreLib/src/System/InvalidCastException.cs
src/libraries/System.Private.CoreLib/src/System/InvalidOperationException.cs
src/libraries/System.Private.CoreLib/src/System/InvalidProgramException.cs
src/libraries/System.Private.CoreLib/src/System/MemberAccessException.cs
src/libraries/System.Private.CoreLib/src/System/MethodAccessException.cs
src/libraries/System.Private.CoreLib/src/System/MissingFieldException.cs
src/libraries/System.Private.CoreLib/src/System/MissingMemberException.cs
src/libraries/System.Private.CoreLib/src/System/MissingMethodException.cs
src/libraries/System.Private.CoreLib/src/System/MulticastNotSupportedException.cs
src/libraries/System.Private.CoreLib/src/System/NotFiniteNumberException.cs
src/libraries/System.Private.CoreLib/src/System/NotImplementedException.cs
src/libraries/System.Private.CoreLib/src/System/NotSupportedException.cs
src/libraries/System.Private.CoreLib/src/System/NullReferenceException.cs
src/libraries/System.Private.CoreLib/src/System/Nullable.cs
src/libraries/System.Private.CoreLib/src/System/ObjectDisposedException.cs
src/libraries/System.Private.CoreLib/src/System/OperationCanceledException.cs
src/libraries/System.Private.CoreLib/src/System/OutOfMemoryException.cs
src/libraries/System.Private.CoreLib/src/System/OverflowException.cs
src/libraries/System.Private.CoreLib/src/System/PlatformNotSupportedException.cs
src/libraries/System.Private.CoreLib/src/System/RankException.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/AmbiguousMatchException.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/CustomAttributeFormatException.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/InvalidFilterCriteriaException.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/ReflectionTypeLoadException.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/TargetException.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/TargetInvocationException.cs
src/libraries/System.Private.CoreLib/src/System/Reflection/TargetParameterCountException.cs
src/libraries/System.Private.CoreLib/src/System/Resources/MissingManifestResourceException.cs
src/libraries/System.Private.CoreLib/src/System/Resources/MissingSatelliteAssemblyException.cs
src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/RuntimeWrappedException.cs
src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/ExternalException.cs
src/libraries/System.Private.CoreLib/src/System/Runtime/InteropServices/MarshalDirectiveException.cs
src/libraries/System.Private.CoreLib/src/System/Runtime/Serialization/SerializationException.cs
src/libraries/System.Private.CoreLib/src/System/SByte.cs
src/libraries/System.Private.CoreLib/src/System/Security/CryptographicException.cs
src/libraries/System.Private.CoreLib/src/System/Security/SecurityException.cs
src/libraries/System.Private.CoreLib/src/System/Security/VerificationException.cs
src/libraries/System.Private.CoreLib/src/System/Single.cs
src/libraries/System.Private.CoreLib/src/System/StackOverflowException.cs
src/libraries/System.Private.CoreLib/src/System/String.cs
src/libraries/System.Private.CoreLib/src/System/StringComparer.cs
src/libraries/System.Private.CoreLib/src/System/SystemException.cs
src/libraries/System.Private.CoreLib/src/System/Text/DecoderExceptionFallback.cs
src/libraries/System.Private.CoreLib/src/System/Text/EncoderExceptionFallback.cs
src/libraries/System.Private.CoreLib/src/System/Text/StringBuilder.cs
src/libraries/System.Private.CoreLib/src/System/Threading/AbandonedMutexException.cs
src/libraries/System.Private.CoreLib/src/System/Threading/SynchronizationLockException.cs
src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskCanceledException.cs
src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskSchedulerException.cs
src/libraries/System.Private.CoreLib/src/System/Threading/ThreadAbortException.cs
src/libraries/System.Private.CoreLib/src/System/Threading/ThreadInterruptedException.cs
src/libraries/System.Private.CoreLib/src/System/Threading/ThreadStartException.cs
src/libraries/System.Private.CoreLib/src/System/Threading/ThreadStateException.cs
src/libraries/System.Private.CoreLib/src/System/Threading/WaitHandleCannotBeOpenedException.cs
src/libraries/System.Private.CoreLib/src/System/TimeoutException.cs
src/libraries/System.Private.CoreLib/src/System/Tuple.cs
src/libraries/System.Private.CoreLib/src/System/TypeAccessException.cs
src/libraries/System.Private.CoreLib/src/System/TypeInitializationException.cs
src/libraries/System.Private.CoreLib/src/System/TypeUnloadedException.cs
src/libraries/System.Private.CoreLib/src/System/UInt16.cs
src/libraries/System.Private.CoreLib/src/System/UInt32.cs
src/libraries/System.Private.CoreLib/src/System/UInt64.cs
src/libraries/System.Private.CoreLib/src/System/UIntPtr.cs
src/libraries/System.Private.CoreLib/src/System/UnauthorizedAccessException.cs
src/libraries/System.Private.CoreLib/src/System/ValueTuple.cs
src/libraries/System.Private.CoreLib/src/System/Version.cs

index dd685e3..597a39c 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     internal class AppDomainUnloadedException : SystemException
     {
         public AppDomainUnloadedException()
index 0b2f2eb..5cb7f1d 100644 (file)
@@ -32,6 +32,7 @@ namespace System
     // Note that we make a T[] (single-dimensional w/ zero as the lower bound) implement both 
     // IList<U> and IReadOnlyList<U>, where T : U dynamically.  See the SZArrayHelper class for details.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public abstract class Array : ICloneable, IList, IStructuralComparable, IStructuralEquatable
     {
         // This ctor exists solely to prevent C# from generating a protected .ctor that violates the surface area. I really want this to be a
index 07bb02c..fd84dd3 100644 (file)
@@ -16,6 +16,7 @@ namespace System
 {
     [Serializable]
     [AttributeUsageAttribute(AttributeTargets.All, Inherited = true, AllowMultiple = false)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public abstract class Attribute
     {
         #region Private Statics
index 253253d..d5d2e91 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Collections.Generic
 {
     [Serializable]
     [TypeDependencyAttribute("System.Collections.Generic.ObjectComparer`1")]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")] 
     public abstract class Comparer<T> : IComparer, IComparer<T>
     {
         // To minimize generic instantiation overhead of creating the comparer per type, we keep the generic portion of the code as small
@@ -43,6 +44,7 @@ namespace System.Collections.Generic
     // means another generic instantiation, which can be costly esp.
     // for value types.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class GenericComparer<T> : Comparer<T> where T : IComparable<T>
     {
@@ -66,6 +68,7 @@ namespace System.Collections.Generic
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class NullableComparer<T> : Comparer<T?> where T : struct, IComparable<T>
     {
@@ -89,6 +92,7 @@ namespace System.Collections.Generic
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class ObjectComparer<T> : Comparer<T>
     {
index e10fee8..4c7a705 100644 (file)
@@ -16,6 +16,7 @@ namespace System.Collections.Generic
 {
     [Serializable]
     [TypeDependencyAttribute("System.Collections.Generic.ObjectEqualityComparer`1")]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")] 
     public abstract class EqualityComparer<T> : IEqualityComparer, IEqualityComparer<T>
     {
         // To minimize generic instantiation overhead of creating the comparer per type, we keep the generic portion of the code as small
@@ -66,6 +67,7 @@ namespace System.Collections.Generic
     // The methods in this class look identical to the inherited methods, but the calls
     // to Equal bind to IEquatable<T>.Equals(T) instead of Object.Equals(Object)
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class GenericEqualityComparer<T> : EqualityComparer<T> where T : IEquatable<T>
     {
@@ -135,6 +137,7 @@ namespace System.Collections.Generic
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class NullableEqualityComparer<T> : EqualityComparer<T?> where T : struct, IEquatable<T>
     {
@@ -202,6 +205,7 @@ namespace System.Collections.Generic
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class ObjectEqualityComparer<T> : EqualityComparer<T>
     {
@@ -271,6 +275,7 @@ namespace System.Collections.Generic
     // Performance of IndexOf on byte array is very important for some scenarios.
     // We will call the C runtime function memchr, which is optimized.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class ByteEqualityComparer : EqualityComparer<byte>
     {
@@ -308,6 +313,7 @@ namespace System.Collections.Generic
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class EnumEqualityComparer<T> : EqualityComparer<T>, ISerializable where T : struct
     {
index 86042a4..44bb846 100644 (file)
@@ -651,6 +651,7 @@ namespace System.Diagnostics.Contracts
         #endregion User Methods
     }
 
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public enum ContractFailureKind
     {
         Precondition,
index e8788e3..f0c2f07 100644 (file)
@@ -146,6 +146,7 @@ namespace System.Diagnostics.Contracts
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public sealed class ContractException : Exception
     {
index aa567dc..505c5ac 100644 (file)
@@ -26,6 +26,7 @@ using System.Diagnostics;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public abstract class Enum : ValueType, IComparable, IFormattable, IConvertible
     {
         #region Private Constants
index e726d27..b451000 100644 (file)
@@ -27,6 +27,7 @@ namespace System
     using System.Globalization;
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Exception : ISerializable
     {
         private void Init()
index 9e4b953..7cb584a 100644 (file)
@@ -34,6 +34,7 @@ namespace System
     [Serializable]
     [ClassInterface(ClassInterfaceType.AutoDual)]
     [System.Runtime.InteropServices.ComVisible(true)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Object
     {
         // Creates a new instance of an Object.
index a3bb2c6..f1ddf65 100644 (file)
@@ -14,6 +14,7 @@ namespace System.Runtime.InteropServices
     /// recognize the HResult.
     /// </summary>
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class COMException : ExternalException
     {
         public COMException()
index bbe6c74..02f1728 100644 (file)
@@ -13,6 +13,7 @@ namespace System.Runtime.InteropServices
     /// class factory.
     /// </summary>
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class InvalidComObjectException : SystemException
     {
         public InvalidComObjectException()
index e562d37..9ec47dd 100644 (file)
@@ -12,6 +12,7 @@ namespace System.Runtime.InteropServices
     /// runtime is invalid.
     /// </summary>
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class InvalidOleVariantTypeException : SystemException
     {
         public InvalidOleVariantTypeException()
index 5fd5711..846ea4e 100644 (file)
@@ -20,6 +20,7 @@ namespace System.Runtime.InteropServices
     /// Exception for Structured Exception Handler exceptions.
     /// </summary>
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class SEHException : ExternalException
     {
         public SEHException()
index 452b498..661810c 100644 (file)
@@ -12,6 +12,7 @@ namespace System.Runtime.InteropServices
     /// than the array rank specified in the metadata.
     /// </summary>
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class SafeArrayRankMismatchException : SystemException
     {
         public SafeArrayRankMismatchException()
index 9b55a87..c094ec1 100644 (file)
@@ -12,6 +12,7 @@ namespace System.Runtime.InteropServices
     /// than the safe array sub type specified in the metadata.
     /// </summary>
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class SafeArrayTypeMismatchException : SystemException
     {
         public SafeArrayTypeMismatchException()
index 1cbdaa6..6438670 100644 (file)
@@ -23,6 +23,7 @@ using System.Diagnostics.Contracts;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class TypeLoadException : SystemException, ISerializable
     {
         public TypeLoadException()
index 8907469..59d8bdd 100644 (file)
@@ -19,6 +19,7 @@ using System.Runtime.Versioning;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")] 
     public abstract class ValueType
     {
         public override bool Equals(object obj)
index 483b07b..da0b1a2 100644 (file)
@@ -19,6 +19,7 @@ using System.Diagnostics;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")] 
     public class WeakReference : ISerializable
     {
         // If you fix bugs here, please fix them in WeakReference<T> at the same time.
index b4403a7..15f6daf 100644 (file)
@@ -19,6 +19,7 @@ using System.Runtime.Versioning;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")] 
     // This class is sealed to mitigate security issues caused by Object::MemberwiseClone.
     public sealed class WeakReference<T> : ISerializable
         where T : class
index 0dfcb95..a66f2a8 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class AccessViolationException : SystemException
     {
         public AccessViolationException()
index 45f385e..99ba703 100644 (file)
@@ -22,6 +22,7 @@ namespace System
     /// </remarks>
     [Serializable]
     [DebuggerDisplay("Count = {InnerExceptionCount}")]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class AggregateException : Exception
     {
         private ReadOnlyCollection<Exception> m_innerExceptions; // Complete set of exceptions. Do not rename (binary serialization)
index bda56fc..cac2919 100644 (file)
@@ -23,6 +23,7 @@ namespace System
     // ApplicationException extends but adds no new functionality to 
     // RecoverableException.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ApplicationException : Exception
     {
         // Creates a new ApplicationException with its message string set to
index 6f36a2c..5a91806 100644 (file)
@@ -20,6 +20,7 @@ namespace System
     // the contract of the method.  Ideally it should give a meaningful error
     // message describing what was wrong and which parameter is incorrect.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ArgumentException : SystemException
     {
         private string _paramName;
index 89c9d9f..edc38f2 100644 (file)
@@ -18,6 +18,7 @@ namespace System
     // The ArgumentException is thrown when an argument 
     // is null when it shouldn't be.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ArgumentNullException : ArgumentException
     {
         // Creates a new ArgumentNullException with its message 
index 478413b..8d91561 100644 (file)
@@ -19,6 +19,7 @@ namespace System
     // The ArgumentOutOfRangeException is thrown when an argument 
     // is outside the legal range for that argument.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ArgumentOutOfRangeException : ArgumentException
     {
         private object _actualValue;
index bce00ee..46492ca 100644 (file)
@@ -18,6 +18,7 @@ namespace System
     // The ArithmeticException is thrown when overflow or underflow
     // occurs.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ArithmeticException : SystemException
     {
         // Creates a new ArithmeticException with its message string set to
index a5f0ed6..b2bd417 100644 (file)
@@ -25,6 +25,7 @@ namespace System
     // three fields from an ArraySegment may not see the same ArraySegment from one call to another
     // (ie, users could assign a new value to the old location).  
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct ArraySegment<T> : IList<T>, IReadOnlyList<T>
     {
         // Do not replace the array allocation with Array.Empty. We don't want to have the overhead of
index 99017ff..2f60fd4 100644 (file)
@@ -18,6 +18,7 @@ namespace System
     // The ArrayMismatchException is thrown when an attempt to store
     // an object of the wrong type within an array occurs.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ArrayTypeMismatchException : SystemException
     {
         // Creates a new ArrayMismatchException with its message string set to
index a07cef3..c8cb65c 100644 (file)
@@ -18,6 +18,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public partial class BadImageFormatException : SystemException
     {
         private string _fileName;  // The name of the corrupt PE file.
index 2369582..4daf6f3 100644 (file)
@@ -18,6 +18,7 @@ using System.Runtime.Versioning;
 namespace System
 {
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct Boolean : IComparable, IConvertible, IComparable<bool>, IEquatable<bool>
     {
         //
index e04ecd3..da1f914 100644 (file)
@@ -11,6 +11,7 @@ namespace System
 {
     [Serializable]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct Byte : IComparable, IConvertible, IFormattable, IComparable<byte>, IEquatable<byte>, ISpanFormattable
     {
         private readonly byte m_value; // Do not rename (binary serialization)
index d8d819b..8c74336 100644 (file)
@@ -20,6 +20,7 @@ namespace System
 {
     [Serializable]
     [StructLayout(LayoutKind.Sequential)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")] 
     public readonly struct Char : IComparable, IComparable<char>, IEquatable<char>, IConvertible
     {
         //
index 57d09df..e22fb5b 100644 (file)
@@ -14,6 +14,7 @@ using System.Runtime.Serialization;
 namespace System.Collections
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class Comparer : IComparer, ISerializable
     {
         private CompareInfo _compareInfo;
index 79d5a77..187301a 100644 (file)
@@ -9,6 +9,7 @@ namespace System.Collections
     // A DictionaryEntry holds a key and a value from a dictionary.
     // It is returned by IDictionaryEnumerator::GetEntry().
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public struct DictionaryEntry
     {
         private object _key; // Do not rename (binary serialization)
index c500ab1..bc30407 100644 (file)
@@ -33,6 +33,7 @@ namespace System.Collections.Generic
     [DebuggerTypeProxy(typeof(IDictionaryDebugView<,>))]
     [DebuggerDisplay("Count = {Count}")]
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Dictionary<TKey, TValue> : IDictionary<TKey, TValue>, IDictionary, IReadOnlyDictionary<TKey, TValue>, ISerializable, IDeserializationCallback
     {
         private struct Entry
index 4e3ca33..3990e13 100644 (file)
@@ -8,6 +8,7 @@ using System.Runtime.Serialization;
 namespace System.Collections.Generic
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class KeyNotFoundException : SystemException
     {
         public KeyNotFoundException()
index bc65d92..82c786d 100644 (file)
@@ -46,6 +46,7 @@ namespace System.Collections.Generic
     // It is used by the IEnumerable<T> implementation for both IDictionary<TKey, TValue>
     // and IReadOnlyDictionary<TKey, TValue>.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct KeyValuePair<TKey, TValue>
     {
         private readonly TKey key; // Do not rename (binary serialization)
index 2efabca..698abe9 100644 (file)
@@ -18,6 +18,7 @@ namespace System.Collections.Generic
     [DebuggerTypeProxy(typeof(ICollectionDebugView<>))]
     [DebuggerDisplay("Count = {Count}")]
     [Serializable]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class List<T> : IList<T>, IList, IReadOnlyList<T>
     {
         private const int DefaultCapacity = 4;
index fcef5ce..1c3139d 100644 (file)
@@ -1,4 +1,4 @@
-// Licensed to the .NET Foundation under one or more agreements.
+// Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
@@ -56,6 +56,7 @@ namespace System.Collections
     [DebuggerTypeProxy(typeof(System.Collections.Hashtable.HashtableDebugView))]
     [DebuggerDisplay("Count = {Count}")]
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Hashtable : IDictionary, ISerializable, IDeserializationCallback, ICloneable
     {
         /*
index 46ee88a..7d6c63f 100644 (file)
@@ -1,4 +1,4 @@
-// Licensed to the .NET Foundation under one or more agreements.
+// Licensed to the .NET Foundation under one or more agreements.
 // The .NET Foundation licenses this file to you under the MIT license.
 // See the LICENSE file in the project root for more information.
 
@@ -9,6 +9,7 @@ namespace System.Collections
     /// GetHashCode() function on Objects, providing their own hash function.
     /// </summary>
     [Obsolete("Please use IEqualityComparer instead.")]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public interface IHashCodeProvider
     {
         /// <summary>Returns a hash code for the given object.</summary>
index 7084df4..6045778 100644 (file)
@@ -19,6 +19,7 @@ namespace System.Collections
     ///    will be smaller and faster than a Hashtable if the number of elements is 10 or less.
     ///    This should not be used if performance is important for large numbers of elements.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     // Needs to be public to support binary serialization compatibility
     public class ListDictionaryInternal : IDictionary
     {
index 6e88aa6..53272b3 100644 (file)
@@ -10,6 +10,7 @@ namespace System.Collections.ObjectModel
     [Serializable]
     [DebuggerTypeProxy(typeof(ICollectionDebugView<>))]
     [DebuggerDisplay("Count = {Count}")]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Collection<T> : IList<T>, IList, IReadOnlyList<T>
     {
         private IList<T> items; // Do not rename (binary serialization)
index d38c3a3..3c4eda2 100644 (file)
@@ -10,6 +10,7 @@ namespace System.Collections.ObjectModel
     [Serializable]
     [DebuggerTypeProxy(typeof(ICollectionDebugView<>))]
     [DebuggerDisplay("Count = {Count}")]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ReadOnlyCollection<T> : IList<T>, IList, IReadOnlyList<T>
     {
         private IList<T> list; // Do not rename (binary serialization)
index d8c86af..940407f 100644 (file)
@@ -14,6 +14,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class DataMisalignedException : SystemException
     {
         public DataMisalignedException()
index 00a7c5a..5b76f60 100644 (file)
@@ -52,6 +52,7 @@ namespace System
     // 
     [StructLayout(LayoutKind.Auto)]
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")] 
     public readonly partial struct DateTime : IComparable, IFormattable, IConvertible, IComparable<DateTime>, IEquatable<DateTime>, ISerializable, ISpanFormattable
     {
         // Number of 100ns ticks per time unit
index f3d9c22..e89cbc6 100644 (file)
@@ -30,6 +30,7 @@ namespace System
 
     [StructLayout(LayoutKind.Auto)]
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")] 
     public readonly struct DateTimeOffset : IComparable, IFormattable, IComparable<DateTimeOffset>, IEquatable<DateTimeOffset>, ISerializable, IDeserializationCallback, ISpanFormattable
     {
         // Constants
index 1c65342..a79a7c3 100644 (file)
@@ -55,6 +55,7 @@ namespace System
     [StructLayout(LayoutKind.Sequential)]
     [Serializable]
     [System.Runtime.Versioning.NonVersionable] // This only applies to field layout
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly partial struct Decimal : IFormattable, IComparable, IConvertible, IComparable<decimal>, IEquatable<decimal>, IDeserializationCallback, ISpanFormattable
     {
         // Sign mask for the flags field. A value of zero in this bit indicates a
index 2127b66..27f5741 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class DivideByZeroException : ArithmeticException
     {
         public DivideByZeroException()
index 7088c37..bd29b8b 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class DllNotFoundException : TypeLoadException
     {
         public DllNotFoundException()
index cab923a..d85b4bc 100644 (file)
@@ -23,6 +23,7 @@ namespace System
 {
     [Serializable]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct Double : IComparable, IConvertible, IFormattable, IComparable<double>, IEquatable<double>, ISpanFormattable
     {
         private readonly double m_value; // Do not rename (binary serialization)
index 1e7636d..f48e4be 100644 (file)
@@ -18,6 +18,7 @@ namespace System
     // The DuplicateWaitObjectException is thrown when an object 
     // appears more than once in the list of objects to WaitAll or WaitAny.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class DuplicateWaitObjectException : ArgumentException
     {
         private static volatile string s_duplicateWaitObjectMessage = null;
index c2d8e7a..606743a 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class EntryPointNotFoundException : TypeLoadException
     {
         public EntryPointNotFoundException()
index c035661..f3561a8 100644 (file)
@@ -8,6 +8,7 @@ namespace System
 {
     // The base class for all event classes.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class EventArgs
     {
         public static readonly EventArgs Empty = new EventArgs();
index 78f8a18..5649cc0 100644 (file)
@@ -22,6 +22,7 @@ namespace System
 {
     [Obsolete("This type previously indicated an unspecified fatal error in the runtime. The runtime no longer raises this exception so this type is obsolete.")]
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class ExecutionEngineException : SystemException
     {
         public ExecutionEngineException()
index 0d93f5b..b239841 100644 (file)
@@ -14,6 +14,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class FieldAccessException : MemberAccessException
     {
         public FieldAccessException()
index f0b27da..97d5001 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class FormatException : SystemException
     {
         public FormatException()
index cb59594..92742c7 100644 (file)
@@ -36,6 +36,7 @@ namespace System.Globalization
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public partial class CompareInfo : IDeserializationCallback
     {
         // Mask used to check if IndexOf()/LastIndexOf()/IsPrefix()/IsPostfix() has the right flags.
index 8ea01e8..007aff7 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Globalization
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class CultureNotFoundException : ArgumentException
     {
         private string _invalidCultureName; // unrecognized culture name
index 94c04d7..46e9a83 100644 (file)
@@ -5,6 +5,7 @@
 namespace System.Globalization
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class SortVersion : IEquatable<SortVersion>
     {
         private int m_NlsVersion; // Do not rename (binary serialization)
index 34cfbc3..01c0e88 100644 (file)
@@ -14,6 +14,7 @@ namespace System
     [StructLayout(LayoutKind.Sequential)]
     [Serializable]
     [Runtime.Versioning.NonVersionable] // This only applies to field layout
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public partial struct Guid : IFormattable, IComparable, IComparable<Guid>, IEquatable<Guid>, ISpanFormattable
     {
         public static readonly Guid Empty = new Guid();
index 20ca7f4..d7c6eac 100644 (file)
@@ -13,6 +13,7 @@ namespace System.IO
      * and STG_E_PATHNOTFOUND (0x80030003).
      */
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class DirectoryNotFoundException : IOException
     {
         public DirectoryNotFoundException()
index 8601425..606073a 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.IO
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class EndOfStreamException : IOException
     {
         public EndOfStreamException()
index fc2759f..8c31244 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.IO
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public partial class FileLoadException : IOException
     {
         public FileLoadException()
index cbc0eae..72cff4c 100644 (file)
@@ -8,6 +8,7 @@ namespace System.IO
 {
     // Thrown when trying to access a file that doesn't exist on disk.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public partial class FileNotFoundException : IOException
     {
         public FileNotFoundException()
index dace178..04e6532 100644 (file)
@@ -8,6 +8,7 @@ using System.Runtime.Serialization;
 namespace System.IO
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class IOException : SystemException
     {
         public IOException()
index 100987c..7af2452 100644 (file)
@@ -9,6 +9,7 @@ using System.Runtime.Serialization;
 namespace System.IO
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class PathTooLongException : IOException
     {
         public PathTooLongException()
index e954261..aadc942 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class IndexOutOfRangeException : SystemException
     {
         public IndexOutOfRangeException()
index f949488..4c4bf24 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class InsufficientExecutionStackException : SystemException
     {
         public InsufficientExecutionStackException()
index 4396cdb..6837754 100644 (file)
@@ -16,6 +16,7 @@ namespace System
     /// want to recover from these errors.
     /// </summary>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class InsufficientMemoryException : OutOfMemoryException
     {
         public InsufficientMemoryException() : base(
index 668de1b..4973299 100644 (file)
@@ -11,6 +11,7 @@ namespace System
 {
     [Serializable]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct Int16 : IComparable, IConvertible, IFormattable, IComparable<short>, IEquatable<short>, ISpanFormattable
     {
         private readonly short m_value; // Do not rename (binary serialization)
index 1108e2a..1d0aefe 100644 (file)
@@ -11,6 +11,7 @@ namespace System
 {
     [Serializable]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct Int32 : IComparable, IConvertible, IFormattable, IComparable<int>, IEquatable<int>, ISpanFormattable
     {
         private readonly int m_value; // Do not rename (binary serialization)
index 0960d9d..62c9ffd 100644 (file)
@@ -11,6 +11,7 @@ namespace System
 {
     [Serializable]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct Int64 : IComparable, IConvertible, IFormattable, IComparable<long>, IEquatable<long>, ISpanFormattable
     {
         private readonly long m_value; // Do not rename (binary serialization)
index 65e7eb2..f79334a 100644 (file)
@@ -16,6 +16,7 @@ using nint = System.Int32;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct IntPtr : IEquatable<IntPtr>, ISerializable
     {
         // WARNING: We allow diagnostic tools to directly inspect this member (_value). 
index c68c732..cb6036a 100644 (file)
@@ -13,6 +13,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class InvalidCastException : SystemException
     {
         public InvalidCastException()
index 2216911..9fffbec 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class InvalidOperationException : SystemException
     {
         public InvalidOperationException()
index 2a44580..62a14f9 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class InvalidProgramException : SystemException
     {
         public InvalidProgramException()
index 5e07cce..0cf1e0f 100644 (file)
@@ -15,6 +15,7 @@ namespace System
     // The MemberAccessException is thrown when trying to access a class
     // member fails.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class MemberAccessException : SystemException
     {
         // Creates a new MemberAccessException with its message string set to
index c7c8338..f329334 100644 (file)
@@ -14,6 +14,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class MethodAccessException : MemberAccessException
     {
         public MethodAccessException()
index 13f5c51..ba66bed 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class MissingFieldException : MissingMemberException, ISerializable
     {
         public MissingFieldException()
index e1f0bbe..a3da060 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public partial class MissingMemberException : MemberAccessException
     {
         public MissingMemberException()
index 85a03a6..abb6c0e 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class MissingMethodException : MissingMemberException
     {
         public MissingMethodException()
index f90197e..cb07ac7 100644 (file)
@@ -12,6 +12,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class MulticastNotSupportedException : SystemException
     {
         public MulticastNotSupportedException()
index e7bba81..9afc104 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class NotFiniteNumberException : ArithmeticException
     {
         private double _offendingNumber;
index ba095ea..e5f378f 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class NotImplementedException : SystemException
     {
         public NotImplementedException()
index cf3cf27..e3191ea 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class NotSupportedException : SystemException
     {
         public NotSupportedException()
index 4635c81..cfbc0fb 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class NullReferenceException : SystemException
     {
         public NullReferenceException()
index 290bfb6..3c1cbd5 100644 (file)
@@ -13,6 +13,7 @@ namespace System
     //
     [Serializable]
     [NonVersionable] // This only applies to field layout
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public struct Nullable<T> where T : struct
     {
         private readonly bool hasValue; // Do not rename (binary serialization)
index 1ae8933..8f13055 100644 (file)
@@ -12,6 +12,7 @@ namespace System
     ///       disposed.</para>
     /// </devdoc>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ObjectDisposedException : InvalidOperationException
     {
         private string _objectName;
index 946e33b..0c311af 100644 (file)
@@ -18,6 +18,7 @@ using System.Threading;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class OperationCanceledException : SystemException
     {
         [NonSerialized]
index ef8a8d1..194f3bf 100644 (file)
@@ -10,6 +10,7 @@ namespace System
     /// The exception class for OOM.
     /// </summary>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class OutOfMemoryException : SystemException
     {
         public OutOfMemoryException() : base(
index 4a77bfe..c18fe3f 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class OverflowException : ArithmeticException
     {
         public OverflowException()
index 490976f..f9e461e 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class PlatformNotSupportedException : NotSupportedException
     {
         public PlatformNotSupportedException()
index fba591d..e1e7d16 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class RankException : SystemException
     {
         public RankException()
index bbb222c..643a127 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Reflection
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class AmbiguousMatchException : SystemException
     {
         public AmbiguousMatchException()
index 733a45f..1d7d4a7 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Reflection
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class CustomAttributeFormatException : FormatException
     {
         public CustomAttributeFormatException()
index 3501940..dedcc54 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Reflection
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class InvalidFilterCriteriaException : ApplicationException
     {
         public InvalidFilterCriteriaException()
index af1f926..5011c50 100644 (file)
@@ -8,6 +8,7 @@ using System.Text;
 namespace System.Reflection
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class ReflectionTypeLoadException : SystemException, ISerializable
     {
         public ReflectionTypeLoadException(Type[] classes, Exception[] exceptions)
index bb0f432..c200000 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Reflection
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class TargetException : ApplicationException
     {
         public TargetException()
index 2fb7508..822ddfd 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Reflection
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class TargetInvocationException : ApplicationException
     {
         public TargetInvocationException(Exception inner)
index fcca47e..c68c467 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Reflection
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class TargetParameterCountException : ApplicationException
     {
         public TargetParameterCountException()
index c278666..20914ac 100644 (file)
@@ -8,6 +8,7 @@ using System.Runtime.Serialization;
 namespace System.Resources
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class MissingManifestResourceException : SystemException
     {
         public MissingManifestResourceException()
index d99e682..0bbc626 100644 (file)
@@ -21,6 +21,7 @@ using System.Runtime.Serialization;
 namespace System.Resources
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class MissingSatelliteAssemblyException : SystemException
     {
         private string _cultureName;
index dabb4e5..72996c6 100644 (file)
@@ -10,6 +10,7 @@ namespace System.Runtime.CompilerServices
     /// Exception used to wrap all non-CLS compliant exceptions.
     /// </summary>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class RuntimeWrappedException : Exception
     {
         private object _wrappedException; // EE expects this name
index 7d91378..ab5a84c 100644 (file)
@@ -21,6 +21,7 @@ namespace System.Runtime.InteropServices
     // Base exception for COM Interop errors &; Structured Exception Handler
     // exceptions.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ExternalException : SystemException
     {
         public ExternalException()
index a85d470..3bb1140 100644 (file)
@@ -18,6 +18,7 @@ using System.Runtime.Serialization;
 namespace System.Runtime.InteropServices
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class MarshalDirectiveException : SystemException
     {
         public MarshalDirectiveException()
index 16031db..92c01ee 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Runtime.Serialization
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class SerializationException : SystemException
     {
         private static string s_nullMessage = SR.SerializationException;
index a195954..e347e3b 100644 (file)
@@ -11,6 +11,7 @@ namespace System
 {
     [Serializable]
     [CLSCompliant(false)]    [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct SByte : IComparable, IConvertible, IFormattable, IComparable<sbyte>, IEquatable<sbyte>, ISpanFormattable
     {
         private readonly sbyte m_value; // Do not rename (binary serialization)
index 89cb658..78ee290 100644 (file)
@@ -8,6 +8,7 @@ using System.Runtime.Serialization;
 namespace System.Security.Cryptography
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class CryptographicException : SystemException
     {
         public CryptographicException()
index 2f8fcee..61504c3 100644 (file)
@@ -8,6 +8,7 @@ using System.Runtime.Serialization;
 namespace System.Security
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class SecurityException : SystemException
     {
         private const string DemandedName = "Demanded";
index 38f5176..e2afd4c 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Security
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class VerificationException : SystemException
     {
         public VerificationException()
index 5ca5a8e..8d1788f 100644 (file)
@@ -22,6 +22,7 @@ namespace System
 {
     [Serializable]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct Single : IComparable, IConvertible, IFormattable, IComparable<float>, IEquatable<float>, ISpanFormattable
     {
         private readonly float m_value; // Do not rename (binary serialization)
index 1ebab06..a603ea8 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class StackOverflowException : SystemException
     {
         public StackOverflowException()
index 75f062f..7050644 100644 (file)
@@ -20,6 +20,7 @@ namespace System
     // positions (indices) are zero-based.
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed partial class String : IComparable, IEnumerable, IConvertible, IEnumerable<char>, IComparable<string>, IEquatable<string>, ICloneable
     {
         // String constructors
index 658fb51..47731cb 100644 (file)
@@ -10,6 +10,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public abstract class StringComparer : IComparer, IEqualityComparer, IComparer<string>, IEqualityComparer<string>
     {
         private static readonly CultureAwareComparer s_invariantCulture = new CultureAwareComparer(CultureInfo.InvariantCulture, CompareOptions.None);
@@ -170,6 +171,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class CultureAwareComparer : StringComparer, ISerializable
     {
         private const CompareOptions ValidCompareMaskOffFlags = ~(CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols | CompareOptions.IgnoreNonSpace | CompareOptions.IgnoreWidth | CompareOptions.IgnoreKanaType | CompareOptions.StringSort);
@@ -251,6 +253,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class OrdinalComparer : StringComparer 
     {
         private readonly bool _ignoreCase; // Do not rename (binary serialization)
index 23d3511..9a1daf2 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class SystemException : Exception
     {
         public SystemException()
index 424ab8b..56c0047 100644 (file)
@@ -100,6 +100,7 @@ namespace System.Text
 
     // Exception for decoding unknown byte sequences.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class DecoderFallbackException : ArgumentException
     {
         private byte[] _bytesUnknown = null;
index b9e8e43..92afcf7 100644 (file)
@@ -97,6 +97,7 @@ namespace System.Text
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class EncoderFallbackException : ArgumentException
     {
         private char _charUnknown;
index a5c110f..99021e2 100644 (file)
@@ -26,6 +26,7 @@ namespace System.Text
     // object unless specified otherwise.  This class may be used in conjunction with the String
     // class to carry out modifications upon strings.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed partial class StringBuilder : ISerializable
     {
         // A StringBuilder is internally represented as a linked list of blocks each of which holds
index 2db3417..bd504dd 100644 (file)
@@ -15,6 +15,7 @@ using System.Runtime.Serialization;
 namespace System.Threading
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class AbandonedMutexException : SystemException
     {
         private int _mutexIndex = -1;
index ba6a30e..3b5d31f 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System.Threading
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class SynchronizationLockException : SystemException
     {
         public SynchronizationLockException()
index b33b85b..c3ee31a 100644 (file)
@@ -20,6 +20,7 @@ namespace System.Threading.Tasks
     /// Represents an exception used to communicate task cancellation.
     /// </summary>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class TaskCanceledException : OperationCanceledException
     {
         [NonSerialized]
index 148b630..85ec497 100644 (file)
@@ -21,6 +21,7 @@ namespace System.Threading.Tasks
     /// <see cref="T:System.Threading.Tasks.TaskScheduler"/>.
     /// </summary>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class TaskSchedulerException : Exception
     {
         /// <summary>
index e6ffed9..360e84d 100644 (file)
@@ -19,6 +19,7 @@ using System.Runtime.Serialization;
 namespace System.Threading
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class ThreadAbortException : SystemException
     {
         internal ThreadAbortException()
index 43c3664..0d0288d 100644 (file)
@@ -10,6 +10,7 @@ namespace System.Threading
     /// An exception class to indicate that the thread was interrupted from a waiting state.
     /// </summary>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ThreadInterruptedException : SystemException
     {
         public ThreadInterruptedException() : base(
index c21e9dd..5172555 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Threading
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class ThreadStartException : SystemException
     {
         internal ThreadStartException()
index 24db7e7..d9ba48d 100644 (file)
@@ -17,6 +17,7 @@ using System.Runtime.Serialization;
 namespace System.Threading
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class ThreadStateException : SystemException
     {
         public ThreadStateException()
index 528112a..6082154 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System.Threading
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class WaitHandleCannotBeOpenedException : ApplicationException
     {
         public WaitHandleCannotBeOpenedException() : base(SR.Threading_WaitHandleCannotBeOpenedException)
index c287d04..2480f4b 100644 (file)
@@ -16,6 +16,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class TimeoutException : SystemException
     {
         public TimeoutException()
index ff78e78..ebbd156 100644 (file)
@@ -103,6 +103,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Tuple<T1> : IStructuralEquatable, IStructuralComparable, IComparable, ITupleInternal, ITuple
     {
         private readonly T1 m_Item1; // Do not rename (binary serialization)
@@ -202,6 +203,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Tuple<T1, T2> : IStructuralEquatable, IStructuralComparable, IComparable, ITupleInternal, ITuple
     {
         private readonly T1 m_Item1; // Do not rename (binary serialization)
@@ -316,6 +318,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Tuple<T1, T2, T3> : IStructuralEquatable, IStructuralComparable, IComparable, ITupleInternal, ITuple
     {
         private readonly T1 m_Item1; // Do not rename (binary serialization)
@@ -441,6 +444,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Tuple<T1, T2, T3, T4> : IStructuralEquatable, IStructuralComparable, IComparable, ITupleInternal, ITuple
     {
         private readonly T1 m_Item1; // Do not rename (binary serialization)
@@ -577,6 +581,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Tuple<T1, T2, T3, T4, T5> : IStructuralEquatable, IStructuralComparable, IComparable, ITupleInternal, ITuple
     {
         private readonly T1 m_Item1; // Do not rename (binary serialization)
@@ -724,6 +729,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Tuple<T1, T2, T3, T4, T5, T6> : IStructuralEquatable, IStructuralComparable, IComparable, ITupleInternal, ITuple
     {
         private readonly T1 m_Item1; // Do not rename (binary serialization)
@@ -882,6 +888,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Tuple<T1, T2, T3, T4, T5, T6, T7> : IStructuralEquatable, IStructuralComparable, IComparable, ITupleInternal, ITuple
     {
         private readonly T1 m_Item1; // Do not rename (binary serialization)
@@ -1051,6 +1058,7 @@ namespace System
     }
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class Tuple<T1, T2, T3, T4, T5, T6, T7, TRest> : IStructuralEquatable, IStructuralComparable, IComparable, ITupleInternal, ITuple
     {
         private readonly T1 m_Item1; // Do not rename (binary serialization)
index d64de9e..e12a8b0 100644 (file)
@@ -9,6 +9,7 @@ namespace System
     // TypeAccessException derives from TypeLoadException rather than MemberAccessException because in
     // pre-v4 releases of the runtime TypeLoadException was used in lieu of a TypeAccessException.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class TypeAccessException : TypeLoadException
     {
         public TypeAccessException()
index 1ec4cd5..2ef822a 100644 (file)
@@ -20,6 +20,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class TypeInitializationException : SystemException
     {
         private string _typeName;
index 60a4203..a01ef37 100644 (file)
@@ -7,6 +7,7 @@ using System.Runtime.Serialization;
 namespace System
 {
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class TypeUnloadedException : SystemException
     {
         public TypeUnloadedException()
index 71539a8..f9ef1f6 100644 (file)
@@ -12,6 +12,7 @@ namespace System
     [Serializable]
     [CLSCompliant(false)]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct UInt16 : IComparable, IConvertible, IFormattable, IComparable<ushort>, IEquatable<ushort>, ISpanFormattable
     {
         private readonly ushort m_value; // Do not rename (binary serialization)
index 71d31d6..5ed193e 100644 (file)
@@ -12,6 +12,7 @@ namespace System
     [Serializable]
     [CLSCompliant(false)]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct UInt32 : IComparable, IConvertible, IFormattable, IComparable<uint>, IEquatable<uint>, ISpanFormattable
     {
         private readonly uint m_value; // Do not rename (binary serialization)
index 3d29b37..6abd76d 100644 (file)
@@ -12,6 +12,7 @@ namespace System
     [Serializable]
     [CLSCompliant(false)]
     [StructLayout(LayoutKind.Sequential)]
+    [TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct UInt64 : IComparable, IConvertible, IFormattable, IComparable<ulong>, IEquatable<ulong>, ISpanFormattable
     {
         private readonly ulong m_value; // Do not rename (binary serialization)
index e62dbd9..9534f4f 100644 (file)
@@ -17,6 +17,7 @@ namespace System
 {
     [Serializable]
     [CLSCompliant(false)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public readonly struct UIntPtr : IEquatable<UIntPtr>, ISerializable
     {
         private readonly unsafe void* _value; // Do not rename (binary serialization)
index 9cf366f..e384dfe 100644 (file)
@@ -20,6 +20,7 @@ namespace System
     // The UnauthorizedAccessException is thrown when access errors 
     // occur from IO or other OS methods.
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public class UnauthorizedAccessException : SystemException
     {
         public UnauthorizedAccessException()
index 7953500..7423dba 100644 (file)
@@ -29,6 +29,7 @@ namespace System
     /// - their members (such as Item1, Item2, etc) are fields rather than properties.
     /// </summary>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple
         : IEquatable<ValueTuple>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple>, IValueTupleInternal, ITuple
     {
@@ -298,6 +299,7 @@ namespace System
     /// <summary>Represents a 1-tuple, or singleton, as a value type.</summary>
     /// <typeparam name="T1">The type of the tuple's only component.</typeparam>
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple<T1>
         : IEquatable<ValueTuple<T1>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1>>, IValueTupleInternal, ITuple
     {
@@ -464,6 +466,7 @@ namespace System
     /// <typeparam name="T2">The type of the tuple's second component.</typeparam>
     [Serializable]
     [StructLayout(LayoutKind.Auto)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple<T1, T2>
         : IEquatable<ValueTuple<T1, T2>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1, T2>>, IValueTupleInternal, ITuple
     {
@@ -674,6 +677,7 @@ namespace System
     /// <typeparam name="T3">The type of the tuple's third component.</typeparam>
     [Serializable]
     [StructLayout(LayoutKind.Auto)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple<T1, T2, T3>
         : IEquatable<ValueTuple<T1, T2, T3>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1, T2, T3>>, IValueTupleInternal, ITuple
     {
@@ -882,6 +886,7 @@ namespace System
     /// <typeparam name="T4">The type of the tuple's fourth component.</typeparam>
     [Serializable]
     [StructLayout(LayoutKind.Auto)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple<T1, T2, T3, T4>
         : IEquatable<ValueTuple<T1, T2, T3, T4>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1, T2, T3, T4>>, IValueTupleInternal, ITuple
     {
@@ -1109,6 +1114,7 @@ namespace System
     /// <typeparam name="T5">The type of the tuple's fifth component.</typeparam>
     [Serializable]
     [StructLayout(LayoutKind.Auto)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple<T1, T2, T3, T4, T5>
         : IEquatable<ValueTuple<T1, T2, T3, T4, T5>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1, T2, T3, T4, T5>>, IValueTupleInternal, ITuple
     {
@@ -1355,6 +1361,7 @@ namespace System
     /// <typeparam name="T6">The type of the tuple's sixth component.</typeparam>
     [Serializable]
     [StructLayout(LayoutKind.Auto)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple<T1, T2, T3, T4, T5, T6>
         : IEquatable<ValueTuple<T1, T2, T3, T4, T5, T6>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1, T2, T3, T4, T5, T6>>, IValueTupleInternal, ITuple
     {
@@ -1620,6 +1627,7 @@ namespace System
     /// <typeparam name="T7">The type of the tuple's seventh component.</typeparam>
     [Serializable]
     [StructLayout(LayoutKind.Auto)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple<T1, T2, T3, T4, T5, T6, T7>
         : IEquatable<ValueTuple<T1, T2, T3, T4, T5, T6, T7>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1, T2, T3, T4, T5, T6, T7>>, IValueTupleInternal, ITuple
     {
@@ -1904,6 +1912,7 @@ namespace System
     /// <typeparam name="TRest">The type of the tuple's eighth component.</typeparam>
     [Serializable]
     [StructLayout(LayoutKind.Auto)]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]  
     public struct ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>
     : IEquatable<ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>>, IStructuralEquatable, IStructuralComparable, IComparable, IComparable<ValueTuple<T1, T2, T3, T4, T5, T6, T7, TRest>>, IValueTupleInternal, ITuple
     where TRest : struct
index 44800ef..9d24270 100644 (file)
@@ -15,6 +15,7 @@ namespace System
     // specified component.
 
     [Serializable]
+    [System.Runtime.CompilerServices.TypeForwardedFrom("mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")]
     public sealed class Version : ICloneable, IComparable, IComparable<Version>, IEquatable<Version>, ISpanFormattable
     {
         // AssemblyName depends on the order staying the same