我为Visual Studio 2015创建了一个多项目解决方案模板。
我设法将其上传到本地模板区...\My Documents\Visual Studio 2015\Templates\ProjectTemplates
,并且运行正常。
然后我决定对模板进行更改(改进$safeprojectname$
标签的使用),将模板重新编译到zip文件中,将其重新部署到上面的位置,然后......没有。现有的已经消失了,我无法通过New Project窗口显示我的新模板。
我已尝试以下方法解决此问题
devenv /installvstemplates
然后我想到了为模板创建一个VSIX包的想法,当我的模板出现在Extensions and Updates窗口中时,它仍然没有出现在New Project窗口中。
我确定有人会问,这是* .vstemplate文件
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>XXXXXX MVC Application Template</Name>
<Description>Template for new MVC Applications</Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1001</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>ESITUK_Template</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>__TemplateIcon.png</Icon>
<PreviewImage>__PreviewImage.jpg</PreviewImage>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="$projectname$.Data">
XXXXXX_Template.Data\Data.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$projectname$.Service">
XXXXXX_Template.Service\Service.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$projectname$.Web">
XXXXXX_Template.Web\Web.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
最烦人的是,它曾经 一次 。有没有某种形式的cahcing VS2015正在做一些你无法重复上传带有名字的模板的地方?如果它存在,你怎么能清除这个缓存?
答案 0 :(得分:0)
这可能是模板有效性的问题,而不是VS缓存吗?你能尝试在你的vsix中打包一个已知好的项目模板,看看是否有人接受了这个变化吗?
答案 1 :(得分:0)
再次攻击此问题后,考虑到这可能是一个错误的模板,我发现following answer到similar question
诀窍是在编辑存档的解压缩内容之后, 而不是选择文件夹并压缩它,打开文件夹和 选择所有文件(和文件夹,如果存在),然后压缩它们。
这正是我的问题 - 选择文件夹和压缩文件会导致错误格式的zip文件被解释为模板。选择文件夹中的文件并将它们压缩在一起会创建一个稍有不同排列的zip文件,然后可以将其解释为模板。
这一定是我在没有意识到的情况下所做的一次。
感谢@user1585345建议再次查看模板的格式,而不是VS2015正在使用它。