我已按照How to create a multi project template in visual studio 2013?文章创建了一个模板。我的项目结构如下:ProjectName.Domain,ProjectName.Service,ProjectName.UI,ProjectName.sln,root.vstemplate
root.vstemplate文件包含以下内容:
在每个子项目中都有一个ProjectName.vstemplate文件,其中包含以下内容:
我已将* .zip文件添加到/ My Documents / Visual Studio 2017 / Templates / ProjectTemplates /,但该模板未显示在“新建项目”对话框中。
答案 0 :(得分:1)
在以下示例中我也没有成功,该示例使用Version =“ 2.0.0”作为根vstemplate文件。但是,当我关注This article时,例如使用Version =“ 3.0.0”的示例。
我从文章中复制了该xml以供快速参考:
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>DevEnvExe Mobile Application Template</Name>
<Description>UWP based Windows mobile application with online and offline feature</Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>DevEnv_Template</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>img.png</Icon>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="$projectname$.Offline">
Dev_Offline\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$projectname$.Online">
DevEnv_Online\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$projectname$.Service">
DevEnv_Service\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$projectname$">
DevEnv_Template\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
答案 1 :(得分:1)
您可以使用此处提供的工具:
https://github.com/taori/Amusoft.VisualStudio.TemplateGenerator
并使用桌面客户端或命令行工具使用
build configuration [configurationName]
像这样在桌面客户端中设置配置后:
这样,您可以毫不费力地定期更新模板。
答案 2 :(得分:0)
使用/ installvstemplates开关运行devenv.exe。这将强制Visual Studio更新项目和项目模板。
例如
"%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe" /installvstemplates
或安装Visual Studio的地方。我建议您将zip添加到ProjectTemplates中的一个文件夹中,否则您将弄乱项目对话框。
如果你想在bat文件中使用这样的东西,这里有一个如何轻松做到这一点的简单例子
set VSDir=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE
echo Updating templates...
START "" /B /W "%VSDir%\devenv.exe" /installvstemplates
echo All done!
pause