L'erreur que vous obtenez est susceptible de faire avec une importation manquante dans le code d'où la macro est appelée.
Si votre macro est dans un espace de noms nommé foo par exemple, vous devez ajouter
import foo
Au sommet du code d'appel.
Une deuxième question que vous pouvez rencontrer une fois que vous résoudre ce problème de compilateur est l'erreur
« identifiant inconnu « block »(BCE0005)
Pour corriger cela, ajoutez un .Body
après la section quasi-citation comme ceci:
import Boo.Lang.Compiler.Ast
macro text:
macro subMacro:
text["Text"] = "Hello world"
return [|
block:
System.Console.WriteLine("Hello World");
|].Body
EDIT - macros sont un peu mon humble avis d'un art sombre Pour plus d'aide, vous devriez essayer le boo mailing list, ou l'excellent DSLs in BOO
.