如何避免在项目模板中添加项目模板两次或更多次?

How can I avoid adding item template twice or more in project template?

我有一个项目模板,每当我尝试添加项目模板时,它都会在正确的位置(文件夹)创建,而且还会将项目添加到添加到项目的第一个文件夹中。我该如何解决这个问题?

代码:

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;
   }
  }
 }

创建后的项目:

尝试从 "PriClass.zip" 文件夹中删除您案例中的 "Template Data" 内容。 这应该足够了,这样 "PriClass" 文件夹就不会像您添加项目时那样了 / Class.

示例: