【问题标题】:Multi Project Visual Studio Templates - Specify where to create individual project folders多项目 Visual Studio 模板 - 指定创建单个项目文件夹的位置
【发布时间】:2020-07-20 08:47:06
【问题描述】:

我正在创建一个多项目 Visual Studio 模板。这个模板有多个这样指定的项目 -

<VSTemplate Version="2.0.0" Type="ProjectGroup"
    xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
    <TemplateData>
        <Name>CompanyName Microservice</Name>
        <Description>All projects needed for a CompanyName microservice.</Description>
        <Icon>Icon.ico</Icon>
        <ProjectType>CSharp</ProjectType>
    </TemplateData>
    <TemplateContent>
        <ProjectCollection>
            <ProjectTemplateLink ProjectName="CompanyName.Services.$safeprojectname$" CopyParameters="true">
                CompanyName.Service\MyTemplate.vstemplate
            </ProjectTemplateLink>
            
            <ProjectTemplateLink ProjectName="CompanyName.Services.$safeprojectname$.Data" CopyParameters="true">
                CompanyName.Service.Data\MyTemplate.vstemplate
            </ProjectTemplateLink>
            
            <ProjectTemplateLink ProjectName="CompanyName.Services.$safeprojectname$.Test" CopyParameters="true">
                CompanyName.Service.Test\MyTemplate.vstemplate
            </ProjectTemplateLink>
            
            <ProjectTemplateLink ProjectName="CompanyName.Services.$safeprojectname$.WebApi" CopyParameters="true">
                CompanyName.Service.WebApi\MyTemplate.vstemplate
            </ProjectTemplateLink>
            
            <ProjectTemplateLink ProjectName="CompanyName.Services.$safeprojectname$.WebApi.Client" CopyParameters="true">
                CompanyName.Service.WebApi.Client\MyTemplate.vstemplate
            </ProjectTemplateLink>
        </ProjectCollection>
    </TemplateContent>
</VSTemplate>

当我使用 Visual Studio 的 Add > New Project 菜单选项时,我可以指定此模板,并为其键入一个名称(例如“AuthService”)。

目前,在 Visual Studio 中可以正确创建项目,但在底层 Windows 文件系统中,会创建一个名为 AuthService 的文件夹,并在此文件夹中创建 5 个文件夹(每个项目 1 个)。

我将如何指定在解决方案文件夹的根目录中创建这 5 个单独的项目文件夹,而不是创建一个新的 AuthService 文件夹?

【问题讨论】:

    标签: c# visual-studio project-template


    【解决方案1】:

    你可以在第一次创建项目时选择它们的路径,如果你这样做了,你可以通过文件移动来移动它,这里是代码:

    public static void FolderMove(string srcFolderPath, string destFolderPath)
            {
                if (destFolderPath[destFolderPath.Length - 1] != Path.DirectorySeparatorChar)
                    destFolderPath += Path.DirectorySeparatorChar;
                if (!Directory.Exists(destFolderPath))
                    Directory.CreateDirectory(destFolderPath);
                string[] fileList = Directory.GetFileSystemEntries(srcFolderPath);
                foreach (string file in fileList)
                {
                    if (Directory.Exists(file))
                    {
                        FolderMove(file, destFolderPath + Path.GetFileName(file));
                        //Directory.Delete(file);
                    }
                    else
                        File.Move(file, destFolderPath + Path.GetFileName(file));
                }
                Directory.Delete(srcFolderPath);
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-24
      • 2014-06-15
      • 1970-01-01
      相关资源
      最近更新 更多