首页 > 解决方案 > 如何避免在项目模板中添加两次或多次项目模板?

问题描述

我有一个项目模板,每当我尝试添加项目模板时,它都会在正确的位置(文件夹)中创建,但也会在添加到项目的第一个文件夹中添加项目。我怎样才能解决这个问题?

代码:

if (project.Kind == PrjKind.prjKindCSharpProject) {
 itemPath = solution.GetProjectItemTemplate("PriClass.zip", "CSharp");
 fileExtension = ".cs";
} else {
 itemPath = solution.GetProjectItemTemplate("PriClass.zip", "VisualBasic");
 fileExtension = ".vb";
}

if (!String.IsNullOrEmpty(itemPath)) {
 foreach(MyTreeNode type in selectedTypes) {
  string[] namespaceParts = type.Namespace.Split('.');

  if (namespaceParts.Length == 4) {
   this.Module = namespaceParts[2];
   this.ModuleType = namespaceParts[3];
   this.ClassName = type.NodeName;

   ProjectItem rootFolder = project.ProjectItems.Cast < ProjectItem > ()
    .FirstOrDefault(i => i.Name == this.Module) ? ? project.ProjectItems.AddFolder(this.Module);

   switch (this.ModuleType) {
    case "Editors":
     rootFolder.ProjectItems.AddFromTemplate(itemPath, "Ui" + this.ClassName + fileExtension);
     break;

    case "Services":
     rootFolder.ProjectItems.AddFromTemplate(itemPath, "Api" + this.ClassName + fileExtension);
     break;
   }
  }
 }

创建后的项目:

创建后的项目

标签: visual-studiovsixitemtemplateproject-template

解决方案


尝试从“PriClass.zip”文件夹中删除您案例中的“模板数据”内容。这应该足以使“PriClass”文件夹在您添加项目/类时看起来不像。

例子:

在此处输入图像描述


推荐阅读