Como posso usar o Debug.Write com dados dinâmicos?

Eu estou fazendo alguns scripts do Adobe InDesign. Sua implementação de COM é realmente projetada para VB, portanto, não é rigoroso informar tipos de dados, ocasionalmente necessitando do uso de dinâmicas.

Eu estou tentando depurar um pedaço de código que se parece com isso:

foreach (dynamic pi in current.PageItems)
{
    if (pi is TextFrame)
    {
        var frame = pi as TextFrame;
        var str = frame.Contents.ToString();
        Debug.WriteLine(str);
    }
}

Isso me dá um RuntimeBinderException como este:

Informações adicionais: não é possível invocar dinamicamente o método 'WriteLine' porque ele tem um atributo condicional

Eu entendo que o problema é que com atributos condicionais, a versão do código que precisa lidar com o tipo que a dinâmica resolve em tempo de execução pode ter sido compilada, mas estou convertendo explicitamente o que eu quero depurar para uma string, então Eu não vejo porque isso ainda está acontecendo. Como posso contornar esse problema?

questionAnswers(3)

yourAnswerToTheQuestion