¿Cómo valido un archivo html con C #?

Tengo una aplicación C # que recibe un archivo html. Quiero analizarlo y validarlo. En la salida, devolverá una lista de errores o que mi html es válido.

¿Alguien tiene alguna idea de cómo puedo hacer esto?