¿Por qué ccrewrite.exe no hace nada desde la línea de comandos?

Tengo contratos de código funcionando bien desde dentro de Visual Studio 2010, pero no puedo obtenerlos.ccrewrite.exe Para hacer algo útil desde la línea de comandos. Aquí hay una aplicación de muestra:

using System.Diagnostics.Contracts;

public class Dummy
{
    public static void Main(string[] args)
    {
        Contract.Requires(args.Length > 0);
    }
}

Luego compilo el código y ejecuto ccrewrite.exe en él:

> csc /debug+ /D:CONTRACTS_FULL Dummy.cs

> ccrewrite /o:RewrittenDummy.exe Dummy.exe
elapsed time: 61ms

No hayRewrittenDummy.exe archivo después.

He intentado un montón de opciones, pero nada está haciendo la diferencia. Algunas cosas que he notado:

Definitivamente está cargando Dummy.exe, porque si especifico un archivo que no existe, muereDummy.exe definitivamente contiene referencias a Contrato: si lo ejecuto sin argumentos, falla apropiadamente (pero el mensaje de error no se ha completado como lo esperaría si se hubiera reescrito)Usar postcondiciones e invariantes no hace ninguna diferencia.

He intentado activar las advertencias y la verbosidad, y eso no ayuda en absoluto. ¿Qué estoy haciendo mal?

(También preguntado comoPregunta en el foro de contratos de código.. Añadiré cualquier respuesta relevante aquí mismo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta