visual-studio - with - माइक्रोसॉफ्ट विजुअल स्टूडियो




मैं विजुअल स्टूडियो में किसी प्रोजेक्ट में मौजूदा निर्देशिका पेड़ कैसे जोड़ूं? (7)

मुद्दा वास्तव में सरल है। विजुअल स्टूडियो में फ़ोल्डर्स बनाने के बजाय, मैं फाइल सिस्टम पर अपनी परियोजना के लिए एक निर्देशिका संरचना बना देता हूं। संरचना को बनाए रखने, मैं एक परियोजना में सभी फ़ोल्डरों और फ़ाइलों को कैसे शामिल करूं?

यदि मैं सेवा नामक फ़ोल्डर पर "मौजूदा फ़ाइल जोड़ें" और निर्देशिका संरचना में किसी फ़ाइल पर नेविगेट करता हूं .. सेवाएं> खाता प्रबंधन> CreateAccount.cs, यह विजुअल स्टूडियो में दिखाई देता है: सेवाएं> CreateAccount.cs। मुझे यह नहीं चाहिए।

मेरे पास एक पूरी निर्देशिका संरचना पहले से ही काम कर चुकी है, क्योंकि मैं संगठन के लिए एक ही संरचना का उपयोग कर अपने क्लाइंट डेवलपर्स की नकल कर रहा हूं। मैं विजुअल स्टूडियो में प्रोजेक्ट में सभी फ़ोल्डर्स और फ़ाइलों को कैसे जोड़ूं? या क्या मुझे ऐसा करना है जो अधिकांश माइक्रोसॉफ्ट उपयोगकर्ता करते हैं और "इसके साथ रखो" और विजुअल स्टूडियो के माध्यम से प्रत्येक फ़ोल्डर को फिर से बनाना चाहते हैं?


आप Windows Explorer से फ़ोल्डर को अपने विजुअल स्टूडियो समाधान विंडो पर खींच और छोड़ सकते हैं।


आप एक प्रतीकात्मक लिंक का उपयोग कर सकते हैं। यह एक प्रोजेक्ट में फ़ाइल को संशोधित करता है इसे दूसरे में संशोधित करता है (क्योंकि यह वास्तव में एक ही फ़ाइल है)।

यह करने के लिए:

  1. व्यवस्थापक के रूप में खोलें cmd ​​प्रॉम्प्ट
  2. mklink / डी [वर्तमान परियोजना निर्देशिका नाम] [अन्य परियोजना में निर्देशिका यह इंगित करना चाहिए]

इसमें इसकी कमी और नुकसान है, लेकिन मैं इसे अवसर पर डुप्लिकेट पुस्तकालयों के लिए उपयोग करता हूं जिनके लिए अलग-अलग नामों की आवश्यकता होती है।

Anoop के लिए संपादित करें: विजुअल स्टूडियो में जोड़ने के लिए चरण:

  1. ऊपर दिए गए चरणों का उपयोग कर प्रोजेक्ट फ़ोल्डर में लिंक बनाएं।
  2. विजुअल स्टूडियो में ... समाधान एक्सप्लोरर में प्रोजेक्ट का चयन करें।
  3. समाधान एक्सप्लोरर के शीर्ष पर ... सभी फ़ाइलें दिखाएं बटन पर क्लिक करें (यदि पहले से सक्रिय हो तो इसे दो बार क्लिक करने की आवश्यकता हो सकती है)।
  4. लिंक अब आपके प्रोजेक्ट में दिखाया जाएगा ... राइट-क्लिक करें और प्रोजेक्ट में शामिल करें चुनें।

ये वे कदम हैं जिनका मैं पालन करता हूं और कुछ अलग-अलग परियोजनाओं के लिए काम करता हूं।


जहां तक ​​मैं कह सकता हूं, वीएस -2010 में ऐसा करने का एकमात्र तरीका ड्रैग और ड्रॉप विधि के समान है। उस समाधान पर राइट क्लिक करें जिसमें आप एक प्रोजेक्ट जोड़ना चाहते हैं। एप्लिकेशन मेनू में एक ऐड ... आइटम होगा। इसे खोलकर, आप पाते हैं कि विकल्पों में से एक समाधान को मौजूदा प्रोजेक्ट को जोड़ना है।

खुलने वाले संवाद बॉक्स में, समाधान के लिए प्रोजेक्ट फ़ाइल वाले फ़ोल्डर पर नेविगेट करें और इसे चुनें। वीएस, उस प्रोजेक्ट फ़ाइल को आयात करने के हिस्से के रूप में, संपूर्ण निर्देशिका भी आयात करेगा और, मुझे लगता है कि किसी भी अधीनस्थ निर्देशिका जो उस प्रोजेक्ट का हिस्सा हैं।

चूंकि इसके लिए एक मौजूदा प्रोजेक्ट फ़ाइल की आवश्यकता होती है, तब तक एक पेड़ को किसी प्रोजेक्ट में परिवर्तित नहीं किया जाता है, तब तक एक निर्देशिका पेड़ आयात करना असंभव नहीं होगा।


मुझे लगता है कि मुझे संकलन शामिल करें = "। \ Code ***। Cs" के साथ ऐसा करने का एक तरीका मिला है जो मैं चाहता था कि कोड कोड को मेरे कोड फ़ोल्डर के तहत दोबारा शामिल करना है।

प्रोजेक्ट फ़ाइल नमूना यहां दिया गया है।

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0" DefaultTargets="BuildTarget">
    <PropertyGroup>
        <OutputType>Library</OutputType>
    </PropertyGroup>
    <PropertyGroup>
        <StartupObject />
    </PropertyGroup>
    <PropertyGroup>
        <RootNamespace>Autogen</RootNamespace>
    </PropertyGroup>
    <ItemGroup>
        <Compile Remove="@(Compile)" />
        <Compile Include=".\Code\**\*.cs" />
    </ItemGroup>
    <Target Name="BuildTarget">
        <Message Text="Build selected" Importance="high"/>
    </Target>
</Project>

विजुअल स्टूडियो 2015 में, यह है कि आप इसे कैसे करते हैं।

यदि आप स्वचालित रूप से किसी विशिष्ट फ़ोल्डर के नीचे सभी वंश फ़ाइलों को शामिल करना चाहते हैं:

<Content Include="Path\To\Folder\**" />

यह निर्दिष्ट पथ के भीतर केवल फाइलों को शामिल करने के लिए प्रतिबंधित किया जा सकता है:

<Content Include="Path\To\Folder\*.*" />

या यहां तक ​​कि केवल एक निर्दिष्ट एक्सटेंशन के साथ फाइलें:

<Content Include="Path\To\Folder\*.jpg" >

संदर्भ: http://jamesrpatterson.com/blog/automatic-include-in-project-for-visual-studio


विजुअल स्टूडियो 2017 में, आप समाधान दृश्य और फ़ोल्डर दृश्य के बीच आगे और पीछे स्विच करते हैं। मुझे लगता है कि यह एक बेहतर विकल्प है, क्योंकि यह समाधान क्लीनर रखेगा। मैं इसे संपादित करने के लिए उपयोग करता हूं .gitignore, .md फ़ाइलें, आदि


यूकेन के उत्तर पर विस्तार करने के लिए, आप एक लिंक के रूप में फाइलों और पथों को शामिल कर सकते हैं। यह मौजूदा आइटम जोड़ने के समान नहीं है क्योंकि यह आपके प्रोजेक्ट की फ़ोल्डर संरचना में एक अतिरिक्त प्रति नहीं बनाता है। यह उपयोगी है अगर आप कई अलग-अलग स्थानों में एक कैननिकल फ़ोल्डर / फ़ाइल इत्यादि का उपयोग करना चाहते हैं, लेकिन आप केवल एक संस्करण / प्रतिलिपि बनाए रखना चाहते हैं।

लिंक बनाने के लिए आप *.csproj फ़ाइल में जो जोड़ सकते हैं उसका एक उदाहरण यहां दिया गया है

<Compile Include="$(Codez)\z.Libraries\Common\Strings\RegexExtensions.cs">
    <Link>Helpers\RegexExtensions.cs</Link>
</Compile>

<Compile Include="..\..\z.Libraries\MoreLINQ\MoreLinq\ExceptBy.cs">
    <Link>Helpers\ExceptBy.cs</Link>
</Compile>

<Content Include="C:\Codez\Libs\Folder\OtherFolder\**\*.*">
    <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

$(Codez) एक विंडोज पर्यावरण चर है जिसे मैंने परिभाषित किया है, आप अंतर्निहित पर्यावरण चर का उपयोग उसी तरीके से कर सकते हैं।

अंतिम उदाहरण समूह अंतिम आउटपुट में आवश्यक सामग्री फ़ाइलों का एक समूह है। https://.com/a/11808911/492 और उस पर और अधिक के लिए अन्य उत्तरों और लिंक देखें।

https://msdn.microsoft.com/en-us/library/bb629388.aspx पर अधिक MSBuild जानकारी






visual-studio