pan*_*nis 1 visual-studio visual-studio-extensions .net-core visual-studio-2019
我为 VS2019 创建了一个自定义模板,其中包含两个项目。下面是我的 root.vstemplate 文件
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>Asp.Net Core Template EF Core</Name>
<Description>Asp.Net Core 3.1 Boilerplate template</Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>Asp.Net Core Template EF Core</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>logo.png</Icon>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="AspNet Core Ef Core">
src\AspNetCore3EfCoreTemplate\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="AspNet Core Ef Core Web">
src\AspNetCore3EfCoreTemplate.Web\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
Run Code Online (Sandbox Code Playgroud)
我按照此链接的说明进行操作,但是当我尝试在 VS2019 中创建新项目时未显示我的模板。有谁知道为什么会这样?
我按照此链接的说明进行操作,但是当我尝试在 VS2019 中创建新项目时未显示我的模板。有谁知道为什么会这样?
对于自定义工程模板,VS2019新建工程UI无法通过过滤器找到自定义工程模板,这些模板实际上存在于其中。
All Langages,All Platforms并All Project Types与搜索框失去的能力,过滤器定制项目模板,这是一个已知的问题在VS2019。但它仍然发生在最新版本中VS2019 16.4.2。如果您想解决这个烦人的问题,您可以向DC 论坛报告问题以报告此异常行为以获得支持。这可能是一个漫长的过程,或者您可以尝试以下我的建议:
建议
1)不要在VS2019 Project UI中使用任何过滤器,然后拖动到所有模板的底部找到自定义模板,它通常插入在所有默认模板之后。
这张图片显示在所有模板的底部。
2)改用 VS2017 没有错误。
更新 1
我已经创建了您的进一步信息并在我身边进行了测试,没有任何错误,我的环境:
win10企业版1903;VS2019 社区 16.4.2
我的步骤:
1)我在同一个解决方案中创建了两个项目:一个Net Core 3.1 ClassLibrary 项目和一个ASP.NET Core 3.1 Web Application 项目。
2)然后在Project菜单中点击Export Template.. ,将这些工程分别作为工程模板导出。
3)打开文件夹并将它们解压缩到名为src的同一文件夹中。
这显示了src文件夹中的两个解压项目文件夹
然后,这显示了文件夹的最终形式,src文件夹包含如上图所示的两个项目文件夹
4) root.vstemplate是您提供的代码。Asp.Net Core Template EF Core如您所说,项目模板被称为。之后,我将这两个文件压缩成一个叫做多项目模板的包,然后把这个zip文件放到这个路径中C:\Users\xxx\Documents\Visual Studio 2019\Templates\ProjectTemplates。
5)然后我关闭VS Instance然后重新启动VS并清除所有过滤器,然后将项目模板拉到底部,然后在底部查找名为Asp.Net Core Template EF Core.
>我在我身边找到了这个模板,如果你没有看到,请修复VS,然后在扩展-->管理扩展菜单中禁用任何第三方扩展,以防止干扰VS。此外,由于您的VS是16.4.1,您可以尝试将其更新到16.4.2。
更新 2
有了你的样本,我想我发现了问题。问题是 root.template 找不到包含的两个项目:
你把root.template对的Src文件夹和root.vstemplate文件写入这些:
src\ClassLibrary1\MyTemplate.vstemplate
src\WebApplication3\MyTemplate.vstemplate
Run Code Online (Sandbox Code Playgroud)
它使用相对路径来查找这些文件,而您所在的当前路径root.vstemplate没有src,因此无法找到。
解决的办法是,你应该把root.vstemplate在同一目录中SRC文件夹,然后压缩这两个。之后,将其Multiple.zip放入C:\Users\xxx\Documents\Visual Studio 2019\Templates\ProjectTemplates.
希望能帮到你。
Visual Studio 2019 使用标签来筛选项目。默认情况下,当您导出项目模板时,该.vstemplate文件不包含所需的标签。您需要编辑该.vstemplate文件并在该TemplateData部分中添加以下标记(即在<TemplateData>和之间</TemplateData>),并将这些值替换为模板的适当值:
<LanguageTag>Language</LanguageTag>
<PlatformTag>Platform</PlatformTag>
<ProjectTypeTag>Type</ProjectTypeTag>
Run Code Online (Sandbox Code Playgroud)
例如,这是TemplateData我的自定义模板之一:
<TemplateData>
<Name>MyCaliburnMicroTemplate</Name>
<Description>Caliburn Micro template I set up with basic localisation, logging, settings and themes implemented.</Description>
<ProjectType>CSharp</ProjectType>
<ProjectSubType>Windows</ProjectSubType>
<LanguageTag>CSharp</LanguageTag>
<PlatformTag>Windows</PlatformTag>
<ProjectTypeTag>Desktop</ProjectTypeTag>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<DefaultName>MyCaliburnMicroTemplate</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
Run Code Online (Sandbox Code Playgroud)
我也将 设置<ProjectSubType>为 Windows,但我还没有测试过这是否有任何区别。
这是我的“创建新项目”窗口的图片,过滤器设置为 C#、Windows 和桌面:
请注意,标签现在出现在我的项目模板的描述下方。我目前使用的是 Visual Studio Community 2019 版本 16.4.3,但尚未使用任何其他版本进行测试。
| 归档时间: |
|
| 查看次数: |
6159 次 |
| 最近记录: |