首先附上效果图:
可以看到输入解决方案名称后,自动创建了我事先写好的架构,并且项目名及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><没有可用的说明></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$">MultiTest\MyTemplate.vstemplate</ProjectTemplateLink>
</SolutionFolder> 这里路径要和前面保持一致
<ProjectTemplateLink ProjectName="$safeprojectname$Server">MultiTestServer\MyTemplate.vstemplate</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
第五步:修改MultiTest.csproj,将MultiTest替换成$safeprojectname$ (这一步涉及到项目之间的引用)
第六步:代码中出现了命名空间的地方,都要替换成相应的模版参数
第七步:将改完后的这三个东西压缩成一个zip
第八步:把这个zip移动到..\Visual Studio 2013\Templates\ProjectTemplates里面
第九步:打开VS,新建项目,选择刚才做好的模版
第十步:输入任意名称,点击确定,发现代码已经自动生成好
模版参数:https://msdn.microsoft.com/zh-cn/library/eehb4faa(v=vs.120).aspx
希望能帮到有需要的朋友