0

对于我的生活,我无法将我的 DSL 项目导出为模板,而不是默认的 ItemTemplate(如添加新项目)

有没有人碰巧总结了要创建一个新项目需要做什么?VSTemplate 如下。已尝试将 zip 作为内容(ProjTemplate)添加到 VSIX,但无济于事。

<!--DSL Tools Language Template-->
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <TemplateData>
        <Name Package="{602c1894-d640-407a-a311-aca9d5ab7a5c}" ID="103"/>
        <Description Package="{602c1894-d640-407a-a311-aca9d5ab7a5c}" ID="102"/>
        <Icon Package="{602c1894-d640-407a-a311-aca9d5ab7a5c}" ID="201" />
        <ProjectType>CSharp</ProjectType>
        <SortOrder>360</SortOrder>
        <DefaultName>FlowDsl.mhf</DefaultName>
    </TemplateData>
    <TemplateContent>
        <ProjectItem TargetFileName="$fileinputname$.mhf">mhf.mhf</ProjectItem>
        <ProjectItem TargetFileName="$fileinputname$.mhf.diagram">mhf.diagram</ProjectItem>
    </TemplateContent>
</VSTemplate>

谢谢;

4

1 回答 1

1

听起来你想要一个项目模板,对吗?对于初学者,VSTemplate 元素上的 Type 属性应该是Type="Project"而不是Type="Item". 此外,项目模板中需要有一个<Project>元素(通常是 csproj/vbproj 文件)<TemplateContent>才能用作启动项目。

我建议创建一个 C# 或 VB 项目,将您的 DSL 实例作为项目项(并按照您想要的模板构建项目)。然后,尝试使用导出模板向导使用您的项目模板创建 VSIX。

如果您想进一步自定义和控制模板中的内容,请查看此博客文章,其中描述了如何手动创作和打包模板。

于 2010-09-22T16:15:38.603 回答