Merge pull request #1109 from adbre/iss358
[mono.git] / mcs / class / Microsoft.Build / Microsoft.Build.Exceptions / InvalidToolsetDefinitionException.cs
1 using System;
2 using System.Runtime.Serialization;
3
4 namespace Microsoft.Build.Exceptions
5 {
6         public class InvalidToolsetDefinitionException : Exception
7         {
8                 public InvalidToolsetDefinitionException ()
9                         : this ("Invalid toolset definition")
10                 {
11                 }
12                 
13                 public InvalidToolsetDefinitionException (string message)
14                         : base (message)
15                 {
16                 }
17                 
18                 public InvalidToolsetDefinitionException (string message, Exception innerException)
19                         : base (message, innerException)
20                 {
21                 }
22                 protected InvalidToolsetDefinitionException (SerializationInfo info, StreamingContext context)
23                         : base (info, context)
24                 {
25                         ErrorCode = info.GetString ("errorCode");
26                 }
27                 
28                 internal InvalidToolsetDefinitionException (string message, string errorCode)
29                         : base (message + " error code: " + errorCode)
30                 {
31                         ErrorCode = errorCode;
32                 }
33                 
34                 public string ErrorCode { get; private set; }
35                 
36                 public override void GetObjectData (SerializationInfo info, StreamingContext context)
37                 {
38                         base.GetObjectData (info, context);
39                         info.AddValue ("errorCode", ErrorCode);
40                 }
41         }
42 }