Поскольку вы явно не вызываете родительский конструктор как часть вашего дочернего конструктора класса, существует неявный вызов вставленного родительского конструктора без параметров. Этот конструктор не существует, и вы получаете эту ошибку.
Чтобы исправить ситуацию, нужно добавить явный вызов:
public Child(int i) : base(i)
{
Console.WriteLine("child");
}
Или вы можете просто добавить родительский конструктор без параметров:
protected Parent() { }