Compilación condicional en ensamblados referenciados

Estoy escribiendo una asamblea con algunos miembros compilados condicionalmente, por ejemplo:

[Conditional("DEBUG")]
public static void Log(string message) { /*...*/ }

Y usándolo así:

public void DoStuff() {
    Log("This will only appear on debug builds");
    /* ... Do stuff ... */
}

Pero cuando le doy este ensamblaje a alguien para que lo use en su proyecto, quiero que pueda definir si se compilan o no los miembros condicionales de DEPURACIÓN.

Si eso no es posible (por ejemplo, los métodos se eliminan por completo en tiempo de compilación), entonces hay alguna forma de empaquetar múltiples 'configuraciones' de un ensamblaje (por ejemplo, tal vez con[AsambleaConfiguración]) y seleccionarlos de acuerdo con la configuración del conjunto de referencia?

Además: no estoy buscando sugerencias para establecer manualmente las referencias en el archivo .csproj del ensamblado de referencia; Sé que puedo hacer eso, pero es tedioso y debe hacerse para cada referencia.

Respuestas a la pregunta(3)

Su respuesta a la pregunta