in BoostTestAdapter/Settings/BoostTestInternalSettings.cs [82:117]
public void Load(XmlReader reader)
{
Utility.Code.Require(reader, "reader");
var schemaSet = new XmlSchemaSet();
var schemaStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("BoostTestInternalSettings.xsd");
schemaSet.Add(null, XmlReader.Create(schemaStream));
var settings = new XmlReaderSettings
{
Schemas = schemaSet,
ValidationType = ValidationType.Schema,
ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings
};
settings.ValidationEventHandler += (object o, ValidationEventArgs e) => throw e.Exception;
using (var newReader = XmlReader.Create(reader, settings))
{
try
{
if (newReader.Read() && newReader.Name.Equals(this.Name))
{
XmlSerializer deserializer = new XmlSerializer(typeof(RunSettingsContainer));
RunSettingsContainer settingsContainer = deserializer.Deserialize(newReader) as RunSettingsContainer;
this.VSProcessId = settingsContainer.VSProcessId;
}
}
catch (InvalidOperationException e) when (e.InnerException is XmlSchemaValidationException)
{
throw new BoostTestAdapterSettingsProvider.InvalidBoostTestAdapterSettingsException(
String.Format(Resources.InvalidPropertyFile, BoostTestSettingsConstants.InternalSettingsName, e.InnerException.Message),
e.InnerException);
}
}
}