Lingua strumento personalizzato neutro
-
18-09-2019 - |
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.)
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.