Visual Studio 2013创建自定义多项目模版

首先附上效果图:

 可以看到输入解决方案名称后,自动创建了我事先写好的架构,并且项目名及Server层名称都变了,并且依然保持了引用关系。

下面讲具体步骤:

第一步:建立解决方案,并将需要的代码全部写好,名字可以按一定规则随意取。(本例用了一个解决方案文件夹及两个项目)

第二步:点击文件=>导出模版,把两个项目都导出

第三步:将两个文件夹解压出来,并新建一个.vstemplate文件

第四步:编辑刚刚新建的.vstemplate文件

<?xml version="1.0"?>
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup">
    <TemplateData>
        <Name>MultiPro</Name>  这里的名字就是最后vs中出现的模版名称
        <Description>&lt;没有可用的说明&gt;</Description>
        <ProjectType>CSharp</ProjectType>
        <ProjectSubType></ProjectSubType>
        <SortOrder>1000</SortOrder>
        <CreateNewFolder>true</CreateNewFolder>
        <DefaultName>MultiTest</DefaultName>
        <ProvideDefaultName>true</ProvideDefaultName>
        <LocationField>Enabled</LocationField>
        <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    </TemplateData>
    <TemplateContent>
        <ProjectCollection>
            <SolutionFolder Name="web">                             这里的路径要和前面保持一致
                <ProjectTemplateLink ProjectName="$safeprojectname$">MultiTestMyTemplate.vstemplate</ProjectTemplateLink>
            </SolutionFolder>                                        这里路径要和前面保持一致
            <ProjectTemplateLink ProjectName="$safeprojectname$Server">MultiTestServerMyTemplate.vstemplate</ProjectTemplateLink>
        </ProjectCollection>
    </TemplateContent>
</VSTemplate>

第五步:修改MultiTest.csproj,将MultiTest替换成$safeprojectname$ (这一步涉及到项目之间的引用)

第六步:代码中出现了命名空间的地方,都要替换成相应的模版参数

第七步:将改完后的这三个东西压缩成一个zip

       

第八步:把这个zip移动到..Visual Studio 2013TemplatesProjectTemplates里面

 

第九步:打开VS,新建项目,选择刚才做好的模版

第十步:输入任意名称,点击确定,发现代码已经自动生成好

模版参数:https://msdn.microsoft.com/zh-cn/library/eehb4faa(v=vs.120).aspx

希望能帮到有需要的朋友

原文地址:https://www.cnblogs.com/dengshaojun/p/6475118.html