我一直在遵循这个创建多项目模板的tutorial。它是成功的,即使我使用的是较新的版本(3,而不是2)。
问题是,我想在一些文件夹中有一些项目。因此,当我使用/应用模板时,我希望将某些项目放在某些文件夹中。为了更好的理解,我附上了两张截图。


.vstemplate文件如下所示:
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="ProjectGroup">
<TemplateData>
<Name>Multi-Project Template Sample</Name>
<Description><Hacuna matata;</Description>
<ProjectType>CSharp</ProjectType>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="ConsoleApp1">
Part1\ConsoleApp1\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="Liviu">
Part2\ClassLibrary1\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>我尝试了像ProjectName="Part1\ConsoleApp1"这样的组合,但我只得到了错误。我一直在看template parameters,没有什么好消息。
发布于 2021-07-12 06:13:34
如果您需要一个新文件夹,可以使用VS将新文件夹添加到解决方案中。

然后,您可以将新项目添加到该文件夹中。

发布于 2021-08-25 12:15:53
项目和文件夹的结构在.SLN文件中指定。每个项目和每个文件夹都有一个项目条目,如下所示:
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SampleApplication.Services", "SampleApplication.Services\SampleApplication.Services.csproj", "{780D4A9C-AB47-4B3C-8402-8B2C85E9B904}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Services", "Services", "{6B99D4BE-213F-4F2F-88A1-E7C9933EF3C6}"
EndProject(后面的"project“是文件夹)。
行上的第一个GUID是项目类型,第二个是项目的唯一标识符。
在.SLN文件的末尾,应该有一个GlobalSection(NestedProjects)
GlobalSection(NestedProjects) = preSolution
{780D4A9C-AB47-4B3C-8402-8B2C85E9B904} = {6B99D4BE-213F-4F2F-88A1-E7C9933EF3C6}
EndGlobalSection每一行都定义了表单中项目的父文件夹(也是一个项目):
{project GUID} = {folder GUID}https://stackoverflow.com/questions/68339368
复制相似问题