5

मैंने सफलतापूर्वक एक बहु-परियोजना समाधान टेम्पलेट बनाया है। हालांकि, मैं क्या करना चाहता हूं, समाधान के नाम से प्रत्येक परियोजना की शुरुआत का नाम बदलना है।विजुअल स्टूडियो मल्टी-प्रोजेक्ट टेम्पलेट्स नामस्थानों और प्रोजेक्ट नामों का नाम बदलते हैं

तो अपनी परियोजनाओं:

  • ProjectOne.A
  • ProjectTwo.B

  • SolutionName.A को नाम दिया जा चाहेंगे
  • SolutionName.B

जहां SolutionName उपयोगकर्ता द्वारा नाम बनाया गया था जब उन्होंने प्रोजेक्ट बनाया था।

मैं निम्नलिखित लेख पढ़ लिए हैं:

लेकिन कोई भी मेरी विशिष्ट स्थिति का जवाब देने में लग रहे हैं।

+0

मेरे पास जल्द से जल्द एक ब्लॉग एंट्री अप होगा (अगले दिन या तो): http://compositecode.com – Adron

+0

@Adron - क्या आप सटीक लिंक पोस्ट कर सकते हैं। मैं सही लेख का शिकार नहीं करना चाहता हूं। – Omar

+0

मैंने अभी तक आपके द्वारा सुझाए गए परीक्षणों का परीक्षण नहीं किया है, लेकिन मुझे विश्वास होगा कि यह माइल्स की टिप्पणी के आधार पर काम करता है। – Omar

उत्तर

7

यदि आपका मुख्य .vstemplate (समाधान के एक) नीचे दिए गए उदाहरण की तरह है, आप परियोजना फ़ोल्डर और जो कुछ भी नाम आप चाहते हैं .csproj नाम बदलने के लिए विज़ार्ड के शब्दकोश में परिभाषित चर का उपयोग कर सकते हैं ।

<?xml version="1.0" encoding="utf-8"?> 
<VSTemplate Version="2.0.0" Type="ProjectGroup" 
xmlns="http://schemas.microsoft.com/developer/vstemplate/2005"> 
    <TemplateData> 
     <Name>My Web Server Solution with DAL</Name> 
     <Description>Creates Projects for Web Server DAL and adds them to a new or existing solution</Description> 
     <Icon></Icon> 
     <ProjectType>CSharp</ProjectType> 
     <ProjectSubType>My</ProjectSubType> 
     <DefaultName>WebServer</DefaultName> 
     <NumberOfParentCategoriesToRollUp>2</NumberOfParentCategoriesToRollUp> 
     <TemplateGroupID>My</TemplateGroupID> 
     <TemplateID>My.Dal.Web.Template</TemplateID> 
    </TemplateData> 
    <TemplateContent> 
     <ProjectCollection> 
      <ProjectTemplateLink ProjectName="$ModelProjectName$"> 
       Children\Model\ProjectTemplate.vstemplate 
      </ProjectTemplateLink> 
      <ProjectTemplateLink ProjectName="$SharedModelContractsProjectName$"> 
       Children\SharedModelContracts\ProjectTemplate.vstemplate 
      </ProjectTemplateLink> 
      <ProjectTemplateLink ProjectName="$RepositoryInterfacesProjectName$"> 
       Children\RepositoryInterfaces\ProjectTemplate.vstemplate 
      </ProjectTemplateLink> 
      <ProjectTemplateLink ProjectName="$RepositoryImplementationProjectName$"> 
       Children\RepositoryImplementation\ProjectTemplate.vstemplate 
      </ProjectTemplateLink> 
      <ProjectTemplateLink ProjectName="$RepositoryExtensionsProjectName$"> 
       Children\RepositoryExtensions\ProjectTemplate.vstemplate 
      </ProjectTemplateLink> 
     </ProjectCollection> 
    </TemplateContent> 
    <WizardExtension> 
     <Assembly>My.WebServerDalExtension.Wizard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5c93c79b0feae916</Assembly> 
     <FullClassName>My.WebServerDalExtension.Wizard.Controller</FullClassName> 
    </WizardExtension> 
</VSTemplate> 

उपयोग अलावा .vstemplates के समान परिवर्तन (परियोजनाओं '.vstemplates) .csproj फ़ाइलों का नाम बदलना।

+0

बस जो मैं खोज रहा था! बहुत धन्यवाद। –

+0

इनमें से कुछ परियोजनाएं एक-दूसरे को संदर्भित करती हैं, लेकिन '$ safitemname $' और '$ safeprojectname $' प्लेसहोल्डर्स को प्रतिस्थापित नहीं किया जा रहा है या गलत मान के साथ प्रतिस्थापित कर रहे हैं। परियोजनाओं को एक साथ संदर्भित करने के बारे में कोई विचार? – Omar

+0

हां, अपने विज़ार्ड से सभी प्रोजेक्ट नाम पढ़ें। विज़ार्ड में परिभाषित प्रत्येक परियोजना संदर्भ के उपयोग चर है। यह उदाहरण देखें: http://vsix.codeplex.com/ –

संबंधित मुद्दे