Erstellen von Vstemplates, die nicht unter Webprojekten erscheinen (nur unter nicht verleumden Projekten)

StackOverflow https://stackoverflow.com/questions/7327410

  •  27-10-2019
  •  | 
  •  

Frage

Wir haben eine Reihe von Vorlagen, von denen einige nur beim Hinzufügen eines neuen Elements zu einem C# -Wet -Anwendungsprojekt sichtbar sind (filtriert mit der Vorlagengruppen -ID "Web"). Viele unserer anderen Vorlagen sind jedoch nicht sinnvoll, um einem Webprojekt hinzuzufügen (sie sind für ein Standardprojekt für C# -Klbyse -Bibliothek vorgesehen). Ich möchte verhindern, dass diese Vorlagen angezeigt werden, wenn ich einem C# -Wet -Anwendungsprojekt ein neues Element hinzufüge.

Ich bin mir nicht sicher, ob dies möglich ist. Ich weiß, dass die Inverse möglich ist; Um Elementvorlagen zu erstellen, die nur Zeigen Sie sich unter Webprojekten, aber ich möchte, dass einige unserer Vorlagen nur bei unplarad C# -Projekten auftauchen (nicht WebApp, WPF, Workflow usw.).

Ich habe in der Registrierung unter hkcu software microsoft visualstudio 10.0exp_config projects {fae04ec0-301f-11d3-bf4b-00c04f79efbc} (die nicht spezifizierende Registrierung des C# -Projekts) geworfen. Filterung basierend auf der Vorlagengruppen -ID (das ist also keine Hilfe, so scheint es). Geschmackliche Projektuntertypen wie Workflow scheinen die Elemente zu filtern, von denen Sie hinzufügen können (beispielsweise eine Vorlagengruppen -ID von "WorkflowItemTemplateGroupid"), aber es scheint, als ob unlassierte Projekte ihre Elemente und daher keine Elemente filtern, und daher alle Elemente Das hat sich auf "False" eingestellt, das Sichtbarer für "false" eingestellt hat, ist immer unsichtbar (da sie keine Vorlagengruppen -ID angeben können).

Gibt es eine Möglichkeit, das zu tun, was ich versuche zu tun?

War es hilfreich?

Lösung

Ich habe herausgefunden, wie man das mit dem macht SvSregisterNewdialogFilters Service (Das war das fehlende Puzzleteil).

Es ermöglicht Ihnen, eine Implementierung von zu liefern IVSFilterAddProjectItemDlg Implementierung, die aufgerufen wird, wenn das Dialogfeld "Add-Project-Item" aufgerufen wird (unabhängig davon, wer es aufgerufen hat). Es wird mit einem anderen Projekttyp -GUID für Web- / Silverlight -Projekte aufgerufen als für nicht verleumdete C# -Projekte (so kann ich einfach unsere verschiedenen Vorlagenverzeichnisse herausfiltern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top