¿Cómo puedo usar Debug.Write con datos dinámicos?

Estoy haciendo algunos scripts de Adobe InDesign. Su implementación de COM está realmente diseñada para VB, por lo que no es rigurosa con el informe de los tipos de datos, lo que en ocasiones requiere el uso de dinámicas.

Estoy tratando de depurar un trozo de código que se ve así:

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

Esto me da una RuntimeBinderException como esta:

Información adicional: No se puede invocar dinámicamente el método 'WriteLine' porque tiene un atributo condicional

Entiendo que el problema es que con los atributos condicionales, la versión del código que necesita para manejar el tipo que la dinámica resuelve en el tiempo de ejecución podría haberse compilado, pero estoy convirtiendo explícitamente lo que quiero depurar en una cadena, por lo que No veo por qué esto todavía está sucediendo. ¿Cómo puedo solucionar este problema?

Respuestas a la pregunta(3)

Su respuesta a la pregunta