多项目模板Visual Studio 2017

时间:2017-04-06 07:32:25

标签: c# visual-studio-2017 project-template

我已按照How to create a multi project template in visual studio 2013?文章创建了一个模板。我的项目结构如下:ProjectName.Domain,ProjectName.Service,ProjectName.UI,ProjectName.sln,root.vstemplate

root.vstemplate文件包含以下内容:

root

在每个子项目中都有一个ProjectName.vstemplate文件,其中包含以下内容:

project

我已将* .zip文件添加到/ My Documents / Visual Studio 2017 / Templates / ProjectTemplates /,但该模板未显示在“新建项目”对话框中。

3 个答案:

答案 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]

像这样在桌面客户端中设置配置后:

sample,你很好。

这样,您可以毫不费力地定期更新模板。

答案 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