我正在为Visual Studio 2012手动创建一个多项目模板,并遵循了此页面中的指导原则:http://msdn.microsoft.com/en-us/library/ms185308.aspx
我遇到的问题是,使用这个模板创建了一个奇怪的文件夹结构,这不是我通常所期望的。我为一个名为SolutionName:的解决方案获得的文件夹结构
[解决方案名称]|\---解决方案名称.sln|\---[解决方案名称]|\---项目1|||\-项目1.csproj\---项目2|\---项目2.csproj
现在,我通常会想到的是:
[解决方案名称]|\---解决方案名称.sln|\---项目1|||\-项目1.csproj\---项目2|\---项目2.csproj
有什么方法可以实现第二个文件夹结构吗?
此外,当在模板中指定解决方案文件夹时,它们也被创建为真实的文件夹,有什么方法可以避免这种情况吗?
这就是我的多项目vstemplate文件的外观:
<?xml version="1.0"?>
<VSTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Type="ProjectGroup" Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>My Multi-Solution Template</Name>
<Description>No Description.</Description>
<Icon>__TemplateIcon.png</Icon>
<PreviewImage>__PreviewImage.png</PreviewImage>
<ProjectType>CSharp</ProjectType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder> <!-- No use in trying false here. -->
<DefaultName>SolutionName</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<LocationField>Enabled</LocationField>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<SolutionFolder Name="Application">
<SolutionFolder Name="Tests">
<ProjectTemplateLink ProjectName="$safeprojectname$.UnitTests">UnitTestsUnitTests.vstemplate</ProjectTemplateLink>
</SolutionFolder>
<ProjectTemplateLink ProjectName="$safeprojectname$.Core">CoreCore.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Infrastructure">InfrastructureInfrastructure.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.Model">ModelModel.vstemplate</ProjectTemplateLink>
</SolutionFolder>
<SolutionFolder Name="Service">
<ProjectTemplateLink ProjectName="$safeprojectname$.ServiceHost">ServiceHostServiceHost.vstemplate</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="$safeprojectname$.ServiceLibrary">ServiceLibraryServiceLibrary.vstemplate</ProjectTemplateLink>
</SolutionFolder>
</ProjectCollection>
<CustomParameters />
</TemplateContent>
</VSTemplate>
谢谢!
我遇到了完全相同的问题。我发现了这个类似的问题,建议使用嵌套模板和向导,我正要尝试一下。。。
请查看此处以获取有关此主题的其他信息。也许文档团队会在某个时候对此进行记录。
您还可以从VS Marketplace安装Amusoft工具来移动文件夹。它还将更新解决方案和项目间引用。