private static ConfigurationErrorsException GetConfigurationErrorsException(BuildFailedException e) { Exception currentException = e; while ((currentException = currentException.InnerException) != null) { if (currentException is ConfigurationErrorsException) { return(currentException as ConfigurationErrorsException); } } return(null); }
public void BuildFailedExceptionsSerializeProperly() { BuildFailedException ex = new BuildFailedException(new ThrowingStrategy(""), 3, NamedTypeBuildKey.Make <object>(), null); BinaryFormatter formatter = new BinaryFormatter(); byte[] serializedBytes; using (MemoryStream serializingStream = new MemoryStream()) { formatter.Serialize(serializingStream, ex); serializedBytes = serializingStream.ToArray(); } BuildFailedException deserializedException; using (MemoryStream deserializingStream = new MemoryStream(serializedBytes)) { deserializedException = (BuildFailedException)formatter.Deserialize(deserializingStream); } StringAssert.Contains(deserializedException.Message, "ThrowingStrategy"); }