views:

36

answers:

1

I'm working on a DSL tool, and for this tool, there exists a custom code generation tool that creates output files. Currently, this tool is registered with C# using a RegistrationAttribute on the DslPackage with the following code:

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();
    }
}

This works, but the thing is, the code generated by the tool is going to be language neutral (through the use of CodeDOM). It doesn't require the project to be of the type C#. So my question is this: What GUIDs can I use instead of the demonstrated CSharpGeneratorsGuid and CSharpProjectGuid in order to let my tool be used in any kind of project? (Like VB, F#, IronPython, et. al.)

A: 

I've searched and searched, but I've found no answer, and I'm truly starting to believe there is none. Prove me wrong (yes, please prove me wrong) and I'll mark your answer as the accepted answer.

Alex