Независимый от языка пользовательский инструмент

Я работаю над инструментом DSL, и для этого инструмента существует специальный инструмент генерации кода, который создает выходные файлы. В настоящее время этот инструмент зарегистрирован в C# с помощью атрибута RegistrationAttribute в DslPackage со следующим кодом:

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

Это работает, но дело в том, что код, сгенерированный инструментом, будет нейтральным по отношению к языку (благодаря использованию CodeDOM). Это не требует, чтобы проект был типа C#. Итак, мой вопрос заключается в следующем: какие GUID я могу использовать вместо продемонстрированного CSharpGeneratorsGuid а также CSharpProjectGuid чтобы мой инструмент можно было использовать в любом проекте? (Как и VB, F#, IronPython и др.)

1 ответ

Решение

Я искал и искал, но я не нашел ответа, и я действительно начинаю верить, что его нет. Докажите, что я не прав (да, пожалуйста, докажите, что я не прав), и я отмечу ваш ответ как принятый ответ.

Другие вопросы по тегам