Thanks a lot for contributing!  Can you please change the parsing logic to match the other revivers in the file?  I would expect it to look more like this.
            revivers.Add(typeof(System.Net.IPAddress), (prop, val) =>
            {
                System.Net.IPAddress ret;
                if (System.Net.IPAddress.TryParse(val, out ret) == false) throw new FormatException("value must be a valid IP address: " + val);
                return ret;
            });