У меня точно такая же проблема. В моем случае я сохранял код в файл после преобразования его в строку, например, такую:
private void WriteCodeToFile(NamespaceDeclarationSyntax ns)
{
var codeAsString = ns.NormalizeWhitespace()
.ToFullString();
File.WriteAllText(destFileName, codeAsString);
}
Итак, в этом случае я просто решил эту проблему, запустив замену регулярного выражения в строке, в методе расширения:
private static readonly Regex AutoPropRegex = new Regex(@"\s*\{\s*get;\s*set;\s*}\s");
public static string FormatAutoPropertiesOnOneLine(this string str)
{
return AutoPropRegex.Replace(str, " { get; set; }");
}
И затем вызвать его после преобразования в строку:
var codeAsString = ns.NormalizeWhitespace()
.ToFullString()
.FormatAutoPropertiesOnOneLine();
Вы не уточняете, как вы выполняете этап написания файла (если есть), поэтому, если это не имеет отношения к вашему делу, я прошу прощения за то, что вы не задали свой вопрос на 100%. В любом случае, кому-то еще это может быть полезно