多项目模板 Visual Studio 2017
Posted
技术标签:
【中文标题】多项目模板 Visual Studio 2017【英文标题】:Multi project template Visual Studio 2017 【发布时间】:2017-09-01 02:15:15 【问题描述】:我已关注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/,但该模板未出现在“新建项目”对话框中。
【问题讨论】:
你解决过这个问题吗? 【参考方案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>
【讨论】:
【参考方案2】:您可以使用此处提供的工具:
https://github.com/taori/Amusoft.VisualStudio.TemplateGenerator
并使用桌面客户端或命令行工具
build configuration [configurationName]
在桌面客户端中这样设置配置后:
你很好。
这样您就可以轻松地定期更新您的模板。
【讨论】:
在某处是否有可用的可执行文件?我试图让它在我的计算机上运行并且桌面客户端项目不会加载。 (我在 github repo 上记录了一个问题。) @inejwstine 感谢您的问题。一旦 netcore 3.0 sdk 达到 RTM 状态,我会将可执行文件推送到 github。我已经在github上回答了你的问题。【参考方案3】:使用 /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
【讨论】:
以上是关于多项目模板 Visual Studio 2017的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2013 中创建多项目模板?
Visual Studio 2017 运行调试包含有多个可执行程序的项目
在 Visual Studio 项目模板中创建解决方案文件夹
Visual Studio 2017 c++ win32 控制台项目模板