public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
if (info == null)
{
throw new ArgumentNullException(nameof(info));
}
info.AddValue(nameof(BuildLog), BuildLog);
info.AddValue(nameof(ReferenceName), ReferenceName);
info.AddValue(nameof(TargetType), TargetType);
base.GetObjectData(info, context);
}