如何使用单个VSIX文件在Visual Studio 2012中部署多个项目模板?

时间:2013-08-06 12:55:36

标签: visual-studio-2012 vsix

我为我的开发人员创建了几个项目模板,但找不到在单个VSIX文件中部署它们的方法。目前,我有2个多项目模板,每个模板中有4个项目。

我尝试将两个ZIP文件添加到单个VSIX包中,但包名称显示在项目项列表中。那不是我想要的。实施例..

MyVSIXPackage     Project1.zip     Project2.zip

在项目列表中,我在列表中看到“MyVSIXPackage”而不是“Project1”和“Project2”。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

为每个项目导出模板,提取它们,添加一个root.vstemplate,如下所示。

<VSTemplate Version="2.0.0" Type="ProjectGroup"
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
    <Name>imagesample</Name>
    <TemplateGroupID>WinRT-Managed</TemplateGroupID>
    <Description>An example of an image template</Description>
    <Icon>Aha-Soft-Standard-Portfolio-Ico-design.ico</Icon>
       <ProjectType>CSharp</ProjectType>
<TargetPlatformName>Windows</TargetPlatformName>
    <RequiredPlatformVersion>8</RequiredPlatformVersion>
</TemplateData>
<TemplateContent>
    <ProjectCollection>           
    <SolutionFolder Name="WindowsPhone8">
            <ProjectTemplateLink ProjectName="PhoneApp1">
              PhoneApp1\MyTemplate.vstemplate
            </ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="PhoneApp2">
               PhoneApp2\MyTemplate.vstemplate
            </ProjectTemplateLink>
        </SolutionFolder>
        </ProjectCollection>
</TemplateContent>

现在你有三个文件project1,project2和一个文本文件,将这三个文件压缩在一起。将此zip文件添加到您的vsix项目 - &gt;清单文件 - &gt;资产。

答案 1 :(得分:0)

VSIX资产部分允许添加多个项目模板;

<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
  <Metadata>
    <Identity Id="HelloWorld..gs30ad3a-2cfc-4931-8d0c-557ed21497d3" Version="1.0.0.0" Language="en-US" Publisher="Your name" />
    <DisplayName>Hello world templates</DisplayName>
    <Description xml:space="preserve">Visual Studio templates for creating hello world project in different technologies.</Description>
    <MoreInfo>http://www.google.com</MoreInfo>
    <License>License.txt</License>
    <GettingStartedGuide>GettingStarted.txt</GettingStartedGuide>
    <ReleaseNotes>ReleaseNotes.txt</ReleaseNotes>
    <Icon>HelloWorld_icon.png</Icon>
    <PreviewImage>HelloWorld_preview.png</PreviewImage>
    <Tags>wpf windows</Tags>
  </Metadata>
  <Installation>
    <InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[12.0,]" />   
  </Installation>
  <Dependencies>
    <Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" d:Source="Manual" Version="[4.5.1,)" />
  </Dependencies>
  <Assets>   
    <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="File" Path="ProjectTemplates" d:TargetPath="ProjectTemplates\Windows\HelloWorld.zip" />
    <Asset Type="Microsoft.VisualStudio.ProjectTemplate" d:Source="File" Path="ProjectTemplates" d:TargetPath="ProjectTemplates\WPF\HelloWorldWPF.zip" />    
  </Assets>
</PackageManifest>