2012-07-18 105 views
3

我有一個大多數工作的多項目模板。VS 2010多項目模板。你如何引用其他項目名稱?

我能夠生成兩個項目和他們的文件(正確命名),但我的一個項目需要引用另一個。我試圖讓模板正確填寫這些引用,但遇到問題。

這裏是我的主人(解決方案)模板文件:

<VSTemplate Version="2.0.0" Type="ProjectGroup" 
    xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"> 
    <TemplateData> 
     <Name>Template</Name> 
     <Description>Template (includes web and core)</Description> 
     <Icon>Icon.ico</Icon> 
     <ProjectType>CSharp</ProjectType> 
    </TemplateData> 
    <TemplateContent> 
     <ProjectCollection> 
      <ProjectTemplateLink ProjectName="$safeprojectname$.Web"> 
       Template.Project.Web\MyTemplate.vstemplate 
      </ProjectTemplateLink> 
      <ProjectTemplateLink ProjectName="$safeprojectname$.Core"> 
       Template.Project.Core\MyTemplate.vstemplate 
      </ProjectTemplateLink> 
     </ProjectCollection> 
    </TemplateContent> 
</VSTemplate> 

現在的「名.web」項目中,我常說using x.Core;,但如果我不$safreprojectname$.Core行最終被x.Web.Core。似乎一旦生成每個項目,$safreprojectname$變量就會更改爲當前項目。這是有道理的。但是有沒有辦法獲得解決方案的名稱或者其他項目的名稱?我試圖在解決方案文件中設置一個變量,但它似乎並沒有傳遞給項目文件。

任何人有一個建議?

編輯:除了下面的有用的答案,這裏是我寫了之後我完成這個過程了博客。它鏈接到一堆文章,我認爲是非常有幫助的:https://thebhwgroup.com/blog/2013/10/visual-studio-templates

回答

2

我最終解決了這個問題,使用嚮導,如圖所示下面的示例:http://blog.tonysneed.com/2011/09/14/build-a-multi-project-visual-studio-template/

除了上面的博客,檢查出頂部評論下面VS 2013年我還寫了一個快速博客,與舊版本VS的幫助:https://thebhwgroup.com/blog/2013/10/visual-studio-templates

+2

的問題是,2010年VS但對於VS 2013 Update 2和更高的人誰落在這裏,還有一個解決方案[這裏](http://stackoverflow.com/a/24043435/2530736)在一個類似的問題。它涉及'ProjectTemplateLink'上的'CopyParameters'屬性 – Vanlalhriata 2015-04-27 12:42:28