2016-12-15 43 views
9

यह SolutionFolder को Solution से परियोजना को स्थानांतरित करने के लिए आवश्यक है। मैं समाधान से परियोजना को हटाने की कोशिश कर रहा हूं और इसे EnvDTESolutionFolder.AddFromFile(Filepath line); का उपयोग करके फ़ोल्डर में वापस जोड़ रहा हूं क्योंकि दस्तावेज़ में नहीं मिला है कि समाधान में परियोजनाओं को कैसे स्थानांतरित करें (या परियोजना के लिए एक नया अभिभावक स्थापित करें)। लेकिन एमआरयू सूची (शुरू पृष्ठ, और विंडोज़ स्टार्ट मेनू) में इस तरह के प्रोजेक्ट्स को जोड़ने के साथ परियोजनाओं को जोड़ने के साथ।समाधान से सी # EnvDTE चलती परियोजनाओं SolutionFolder को

कैसे MRU सूची में जोड़ने से बिना SolutionFolder के लिए एक परियोजना को स्थानांतरित करने के?

बुरा अंग्रेज़ी

समारोह जोड़ने के रूप में यह इस पल में है के लिए sry:

protected Project AddProjectToSolutionFolder(Project project1, SolFolderTypes solutionFolderType) 
{ 
    try 
    { 
     Solution2 solution = (Solution2)((DTE2)base._dteObject).Solution; 

     string projFullname = project1.FullName; 

     string solutionFolderName = solutionFolderType == SolFolderTypes.Folder1 ? "Folder1" : "Folder2"; 

     Project project = GetSolutionSubFolder(solution, solutionFolderName); 

     if (project != null) 
     { 
      SolutionFolder folder = (SolutionFolder)project.Object; 
      solution.Remove(project1); 
      project1 = folder.AddFromFile(projFullname); 
     } 
    } 
    catch (Exception e) 
    { 
    } 
    return project1; 
} 

private static Project GetSolutionSubFolder(Solution2 solution, string subfolder) 
{ 
    Projects projects = solution.Projects; 
    Project folder = projects.Cast<Project>().FirstOrDefault(p => string.Equals(p.Name, subfolder)); 

    if (folder == null) 
     folder = solution.AddSolutionFolder(subfolder); 

    return folder; 
} 

उत्तर

1

SolutionFolder और परियोजना कक्षा स्थानांतरित करने के लिए एक विधि प्रदान नहीं करते समाधान में परियोजना में शामिल परियोजना को हटाए बिना समाधान फ़ोल्डर में।

यदि परियोजना आपके समाधान में शामिल है, तो आपको इसे हटाने और समाधान फ़ोल्डर में जोड़ने की आवश्यकता है।

+0

इस कदम के साथ परियोजनाएं प्रारंभ पृष्ठ पर क्यों आती हैं, और इससे कैसे बचें? –

+0

क्या आपका मतलब स्टार्टअप प्रोजेक्ट को हटा देगा? –

+0

जब आप IWizard का उपयोग कर समाधान (बाधा 10 प्रोजेक्ट) बनाते हैं तो यह विजुअल स्टूडियो के प्रारंभ पृष्ठ (स्लान फ़ाइल के लिए एक लिंक) पर "हालिया" कॉलम में दिखाई देता है, और यह ठीक है। लेकिन अगर मैं इस समाधान से परियोजना को हटा देता हूं और इसे फिर से जोड़ता हूं, तो यह प्रोजेक्ट इस कॉलम में दिखाई देता है। कॉलम एक समाधान की 10 परियोजनाओं से भरा है, यह बहुत अच्छा नहीं लग रहा है। इससे कैसे बचें? –

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