string robotsfile = "User-Agent: *"
"Disallow: /";
Приведенные выше строковые литералы объединены в "User-Agent: * Disallow: /", и новой строки, как вы могли подумать, нет. Поскольку ваше регулярное выражение гласит, что строка должна начинаться со слова «Disallow», она не совпадает. Логически правильный код будет выглядеть примерно так:
string robotsfile = "User-Agent: *\n"
"Disallow: /";
или
string robotsfile = "User-Agent: *\nDisallow: /";