mscorlib 4.0.0.0 System.Exception System.Runtime.CompilerServices.TypeForwardedFrom("System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089")

is thrown for several reasons, including the following:

If a thread tries to enter an instance of recursively, but the instance does not support recursion.

If a thread tries to enter a instance in write mode or upgradeable mode when the thread initially entered the lock in read mode. This represents a potential deadlock and therefore is not allowed.

If allowing one more level of recursion would exceed the maximum value for the internal storage counter used to track recursions. This limit is so large that applications should never encounter it.

The exception that is thrown when recursive entry into a lock is not compatible with the recursion policy for the lock.

- Constructor
  4.0.0.0

  This constructor initializes the property of the new instance to a system-supplied message that describes the error, such as "Recursive read lock acquisitions not allowed in this mode." This message takes the current system culture into account.

  The following table shows the initial property values for an instance of .

  Property

  Value

  null.

  The localized error message string.

  Initializes a new instance of the class with a system-supplied message that describes the error.

- Constructor
  4.0.0.0

  This constructor initializes the property of the new exception with the parameter. The content of is intended to be understood by humans. The caller of this constructor must make sure that this string has been localized for the current system culture.

  The following table shows the initial property values for an instance of .

  Property

  Value

  null.

  The error message string.

  Initializes a new instance of the class with a specified message that describes the error.

  The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture.
- Constructor
  4.0.0.0

  This constructor is called during deserialization to reconstitute an exception object that is transmitted over a stream. For more information, see XML and SOAP Serialization.

  Initializes a new instance of the class with serialized data.

  The object that holds the serialized object data.
  The contextual information about the source or destination.
- Constructor
  4.0.0.0

  An exception that is thrown as a direct result of a previous exception should include a reference to the previous exception in the property. The property returns the same value that is passed into the constructor, or null if the property does not supply the inner exception value to the constructor.

  The following table shows the initial property values for an instance of .

  Property

  Value

  The exception specified in .

  The error message string specified in .

  Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.

  The message that describes the exception. The caller of this constructor must make sure that this string has been localized for the current system culture.
  The exception that caused the current exception. If the parameter is not null, the current exception is raised in a catch block that handles the inner exception.