Domanda

Sto lavorando su uno strumento DSL, e per questo strumento, esiste uno strumento di codice personalizzato generazione che crea file di output. Attualmente, questo strumento è iscritto su C # utilizzando un RegistrationAttribute sul DslPackage con il seguente codice:

class FileGenerationRegistrationAttribute : RegistrationAttribute
{
    private const string CSharpGeneratorsGuid = "{fae04ec1-301f-11d3-bf4b-00c04f79efbc}";
    private const string CSharpProjectGuid = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}";

    public override void Register( RegistrationAttribute.RegistrationContext context )
    {
        // register custom generator
        key = context.CreateKey( @"Generators\ " + CSharpGeneratorsGuid );
        ...
        key.Close();

        // register editor notification
        key = context.CreateKey( @"Projects\ " + CSharpProjectGuid + @"\FileExtensions" );
        ...
        key.Close();
    }
}

Questo funziona, ma la cosa è, il codice generato dallo strumento sta per essere lingua neutra (attraverso l'uso di CodeDOM). Non richiede il progetto per essere del tipo C #. Quindi la mia domanda è questa: cosa GUID posso usare al posto del CSharpGeneratorsGuid dimostrata e CSharpProjectGuid al fine di lasciare che il mio attrezzo per essere utilizzato in qualsiasi tipo di progetto? (Come VB, F #, IronPython, et. Al.)

È stato utile?

Soluzione

Ho cercato e cercato, ma ho trovato nessuna risposta, e sto veramente cominciando a credere che ci sia nessuno. Smentirmi (sì, si prega di dimostrare che mi sbaglio) ed io lo segnaliamo la risposta come la risposta accettata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top