Дано демонстрационное решение с двумя VSX-проектами:
1. Добавить новый проект -> Расширяемость -> Шаблон элемента - "ItemTemplate1"
2. Добавить новый проект -> Расширяемость -> Проект VSIX - "VSIXProject1"
Я не внес изменений в «ItemTemplate1», поэтому он содержит шаблон элемента по умолчанию (ItemTemplate1.vstemplate):
<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>ItemTemplate1</Name>
<Description><No description available></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>
В VSIXProject1 я только отредактировал source.extension.vsixmanifest, добавив ссылку на проект ItemTemplates1. После этого vsixmanifest содержит только одно описание контента:
<Content>
<ItemTemplate>ItemTemplates</ItemTemplate>
</Content>
Тогда построил. В bin / debug я получил VSIXProject1.vsix, внутри которого я вижу свой шаблон элемента в файле ItemTemplates \ CSharp \ 1033 \ ItemTemplate1.zip.
Все выглядит отлично!
Кроме того, что это не работает. Я запускаю VSIXProject1.vsix, vsix установлен (я вижу это в менеджере расширений) , но никакие шаблоны не были скопированы в
«C: \ Users \ {Имя пользователя} \ Documents \ Visual Studio 2010 \ Templates \ ItemTemplates»!