2010-09-01 5 views
1

Exemple de solution de démonstration avec deux projets VSX: 1. Ajouter un nouveau projet -> Extensibilité -> Modèle d'élément - "ItemTemplate1" 2. Ajouter un nouveau projet -> Extensibilité -> VSIX projet - "VSIXProject1"VS2010: l'installation de VSIX ne déploie pas de modèles d'éléments à l'intérieur

Je ne aucun changement "ItemTemplate1", il constains modèle d'élément par défaut (ItemTemplate1.vstemplate):

<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"> 
<TemplateData> 
    <Name>ItemTemplate1</Name> 
    <Description>&lt;No description available&gt;</Description> 
    <Icon>ItemTemplate1.ico</Icon> 
    <TemplateID>e298765c-97b8-4f4c-9b7b-a6b368f914df</TemplateID> 
    <ProjectType>CSharp</ProjectType> 
    <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion> 
    <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp> 
    <DefaultName>Class.cs</DefaultName> 
</TemplateData> 
<TemplateContent> 
    <References> 
     <Reference> 
      <Assembly>System</Assembly> 
     </Reference> 
    </References> 
    <ProjectItem ReplaceParameters="true">Class.cs</ProjectItem> 
</TemplateContent> 
</VSTemplate> 

en VSIXProject1 je n'édité source.extension.vsixmanifest ajouter une référence au projet ItemTemplates1. Après cela, vsixmanifest contient une seule description de contenu:

<Content> 
    <ItemTemplate>ItemTemplates</ItemTemplate> 
</Content> 

Puis l'a construit. Dans bin/debug, j'ai obtenu VSIXProject1.vsix dans lequel je peux voir mon modèle d'élément dans le fichier ItemTemplates \ CSharp \ 1033 \ ItemTemplate1.zip.

Tout a l'air génial!

Sauf que cela ne fonctionne pas. Je cours VSIXProject1.vsix, vsix installé (je peux le voir dans le gestionnaire d'extension) mais aucun modèle a été copié à "C: \ Utilisateurs \ {NomUtilisateur} \ Documents \ Visual Studio 2010 \ Templates \ ItemTemplates"!

Répondre

5

Les modèles installés via un périphérique VSIX ne sont pas installés dans le dossier Modèles du dossier Documents de l'utilisateur. Ils sont installés sous% LocalAppData% \ Microsoft \ VisualStudio \ 10.0 \ Extensions \ <YourExtensionFolder> avec tout le contenu de cette extension. (Une installation VSIX consiste simplement à dézipper le VSIX dans un dossier.)

Vous devriez toujours pouvoir voir le modèle lorsque vous essayez d'ajouter un nouvel élément à un projet C#.

+0

Merci, Aaron. Vous avez raison, je viens de trouver un de mes modèles (probablement anciens) dans le dossier Documents de l'utilisateur et j'ai décidé que c'était le bon endroit. En outre VS2010 fait des modèles de recherche dans le dossier Documents de l'utilisateur et contrairement à la place de LocalAppData le fait sans avoir besoin de redémarrer. Ce fait m'a mis dehors. (Comme j'ai installé un vsix, ne voir aucun modèle, puis les copier dans les documents de l'utilisateur et voir le modèle) – Shrike

Questions connexes