2015-04-14 83 views
2

我需要創建一個具有以下結構的vsTemplate。多項目visual studio模板中的嵌套項目

ECart - Ecart.csproject - 模塊 - 文件夾 - MVC.csproject

我們怎樣才能另一個項目中添加一個項目?在這種情況下,ECart是一個Web項目,MVC是同一項目的Modules文件夾中的另一個項目。

這裏就是我想在我的模板 -

<ProjectTemplateLink ProjectName="ECart"> 
    ECart.vstemplate 
</ProjectTemplateLink> 
<ProjectTemplateLink ProjectName="Mvc"> 
    Modules\Mvc\Mvc.vstemplate 
</ProjectTemplateLink> 

回答

1

我沒有找到一個方法只是通過修改vstemplate文件,因爲vstemplate的模式是不支持嵌套的項目結構來做到這一點。 因此,我找到了一個解決方法(儘管我不喜歡)。我實施了IWizard。我壓縮了該項目,並在我希望項目所在的文件夾結構中添加了zip文件。 以編程方式在RunFinished方法中,我解壓縮了項目並將項目添加到解決方案結構中。

+0

你可以分享你的解決方案嗎?請提供更多詳細信息或鏈接 –

0

嘗試使用在https://msdn.microsoft.com/en-us/library/ms171399.aspx處引用的解決方案文件夾元素。使用jayway在https://blog.jayway.com/2015/03/13/visual-studio-how-to-create-a-solution-template-with-multiple-projects/引用的解決方案教程爲我工作。下面

例子:

<?xml version="1.0" encoding="utf-8"?> 
 
<VSTemplate Version="2.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"> 
 
    <TemplateData> 
 
    <Name>Quotes</Name> 
 
    <Description>WPF Client with a quote engine</Description> 
 
    <ProjectType>CSharp</ProjectType> 
 
    <Icon>Quotes.ico</Icon> 
 
    </TemplateData> 
 
    <TemplateContent> 
 
    <ProjectCollection> 
 
     <SolutionFolder Name="foo"> 
 
     <ProjectTemplateLink> 
 
      QuotesLib\QuotesLib.vstemplate 
 
     </ProjectTemplateLink> 
 
     </SolutionFolder> 
 
     <SolutionFolder Name="bar"> 
 
     <ProjectTemplateLink> 
 
     WPFPlay\WPFPlay.vstemplate 
 
     </ProjectTemplateLink> 
 
     </SolutionFolder> 
 
    </ProjectCollection> 
 
    </TemplateContent> 
 
</VSTemplate>