0

私はDSLツールに取り組んでいますが、このツールには、出力ファイルを作成するカスタムコード生成ツールがあります。現在、このツールは、次のコードでDslPackageのRegistrationAttributeを使用してC#に登録されています。

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#タイプである必要はありません。だから私の質問はこれです:私のツールをあらゆる種類のプロジェクトで使用できるようにするためにCSharpGeneratorsGuid、デモンストレーションの代わりにどのGUIDを使用できますか?CSharpProjectGuid(VB、F#、IronPythonなどのように)

4

1 に答える 1

0

検索して検索しましたが、答えが見つかりませんでした。本当に答えがないと信じ始めています。私が間違っていることを証明してください(はい、私が間違っていることを証明してください)。あなたの答えを受け入れられた答えとしてマークします。

于 2009-12-12T21:29:24.853 に答える