I am going to create a custom Visual Studio project template to avoid repeating the additional work of common configuration tasks for an ASP.NET Core project, such as adding an EntityFramework with MySQL support. So I created a new sample project for this and exported using Project> Export template.
But when I create a new project based on my custom template, all folders, such as Controllers or Views , are missing. Only wwwroot exists. I checked the .vstemplate file, which seems to add folders correctly
<Folder Name="wwwroot" TargetFolderName="wwwroot" /> <Folder Name="Controllers" TargetFolderName="Controllers">
So itβs not clear to me that wwwroot created, but there are no Controllers , since they use the exact same directive.
Full VS template file:
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project"> <TemplateData> <Name>AspNetCoreMySQL</Name> <Description>Test</Description> <ProjectType>CSharp</ProjectType> <ProjectSubType> </ProjectSubType> <SortOrder>1000</SortOrder> <CreateNewFolder>true</CreateNewFolder> <DefaultName>AspNetCoreMySQL</DefaultName> <ProvideDefaultName>true</ProvideDefaultName> <LocationField>Enabled</LocationField> <EnableLocationBrowseButton>true</EnableLocationBrowseButton> <Icon>__TemplateIcon.ico</Icon> </TemplateData> <TemplateContent> <Project TargetFileName="AspNetCoreMySQL.csproj" File="AspNetCoreMySQL.csproj" ReplaceParameters="true"> <Folder Name="Properties" TargetFolderName="Properties"> <ProjectItem ReplaceParameters="true" TargetFileName="launchSettings.json">launchSettings.json</ProjectItem> </Folder> <Folder Name="wwwroot" TargetFolderName="wwwroot" /> <Folder Name="Controllers" TargetFolderName="Controllers"> <ProjectItem ReplaceParameters="true" TargetFileName="PageController.cs">PageController.cs</ProjectItem> </Folder> <ProjectItem ReplaceParameters="true" TargetFileName="Program.cs">Program.cs</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="ScaffoldingReadMe.txt">ScaffoldingReadMe.txt</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="Startup.cs">Startup.cs</ProjectItem> </Project> </TemplateContent> </VSTemplate>
Lion source share