2009-11-14 13 views
58

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

+1

यह वीएस -2010 सी # है। उदाहरण के लिए इस और वीएस -2010 सी ++ के बीच कुछ अंतर हैं। इसे टैग सी # दें। – Bitterblue

उत्तर

86

According to MSDN:

यहाँ वी.एस.-विशिष्ट फ़ाइलों की मेरी सूची है कि मैं SVN से बाहर है

आप दृश्य स्टूडियो स्रोत नियंत्रण के लिए निम्न फ़ाइलें जोड़ सकते हैं:

  • समाधान फ़ाइलें (*.sln)।
  • प्रोजेक्ट फ़ाइलें, उदाहरण के लिए, *.csproj, *.vbproj फ़ाइलें।
  • एक्सएमएल पर आधारित एप्लिकेशन कॉन्फ़िगरेशन फ़ाइलें, विजुअल स्टूडियो प्रोजेक्ट के रन-टाइम व्यवहार को नियंत्रित करने के लिए उपयोग की जाती हैं।

    • समाधान उपयोगकर्ता विकल्प फ़ाइलें (*.suo):

    फ़ाइलों को आप स्रोत नियंत्रण नहीं जोड़ सकते में निम्न शामिल हैं।

  • परियोजना उपयोगकर्ता विकल्प फ़ाइलें, उदाहरण के लिए, *.csproj.user, *.vbproj.user फ़ाइलें।
  • वेब जानकारी फ़ाइलें, उदाहरण के लिए, *.csproj.webinfo, *.vbproj.webinfo, जो किसी वेब प्रोजेक्ट के वर्चुअल रूट स्थान को नियंत्रित करती है।
  • आउटपुट फाइलें बनाएं, उदाहरण के लिए, *.dll और *.exe फ़ाइलें।
+2

यह एक अच्छी सूची है। असल में आप परियोजनाओं को संकलित करने के लिए आवश्यक फ़ाइलों का एक न्यूनतम सेट चाहते हैं। –

+0

कम से कम कुछ मामलों में '.user' करने के लिए एक [case] (http://stackoverflow.com/a/72370/4847772) किया जाना है। जिन फ़ाइलों को जोड़ना नहीं है उन्हें ['svn: ignore'] में जोड़ा जाना चाहिए (http://svnbook.red-bean.com/en/1.8/svn.advanced.props.special.ignore.html)। – PJTraill

+0

विजुअल स्टूडियो 2015 का उपयोग करने वाले लोग स्रोत नियंत्रण से '.vs' फ़ोल्डर को भी बाहर करना चाहते हैं। Http://stackoverflow.com/q/31526899/2615878 देखें। – Theophilus

11

समाधान का स्तर:

  • .sln समाधान फ़ाइल जोड़ने
  • .suo समाधान उपयोगकर्ता विकल्प फ़ाइल

परियोजना स्तर पर ध्यान न दें:

  • जोड़ने .csproj, .vbproj (और सी ++ proj?) फाइल
  • .csproj.user, .vbproj.user फ़ाइलों
  • bin निर्देशिका उपेक्षा
  • obj निर्देशिका
  • किसी भी फाइल/निर्देशिका कि रनटाइम के दौरान (यानी उत्पन्न हो उपेक्षा की उपेक्षा की अनदेखी। लॉग)

आप का उपयोग करें और वी.एस. addins हैं, वे फ़ाइलें भी अनदेखी (यानी। ReSharper .resharper और .resharper.user फ़ाइलें उत्पन्न करता है) की जरूरत है कि उत्पन्न हो सकता है।

अनदेखा आइटम को या तो फ़ाइल नाम (यानी MyProject.csproj), या वाइल्डकार्ड पैटर्न (यानी *.csproj.user) द्वारा स्पष्ट रूप से अनदेखा किया जा सकता है।


बार जब आप अपने ध्यान न दी निर्धारित किया है ऊपर, अपने स्रोत तो निर्माण के लिए एक साफ प्रतिलिपि बाहर की जाँच तो कोई संशोधन (यानी। कोई नया unversioned फ़ाइलें) दिखाना चाहिए।

16

मैं AnkhSVN का उपयोग करने का सुझाव दूंगा - विजुअल स्टूडियो 2008/2010 के लिए एक सबवर्जन स्रोत नियंत्रण प्लगइन।

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

+2

मैंने अंखएसवीएन की कोशिश की, और पाया कि यह आईडीई के भीतर कार्यों को समय-समय पर स्रोत नियंत्रण पर कार्रवाई के रूप में समझने के लिए और डेवलपर्स को सिंगल-फाइल करने के लिए प्रोत्साहित करने के लिए प्रेरित करता है। मैं कछुए के साथ बहुत खुश हूँ। – PJTraill

+0

लेकिन यह उपयोगी है कि यह जानता है कि क्या अनदेखा करना है! – PJTraill

5

मैं मैन्युअल रूप से उन सभी फ़ाइलों को शामिल करूंगा जो मुझे लगता है कि मुझे संस्करण नियंत्रण नहीं करना चाहिए।

मेरे वैश्विक उपेक्षा पैटर्न है:

.dll .pdb .exe .cache .webinfo .snk बिन obj डिबग _Resharper।उपयोगकर्ता ReSharper

15

संस्करण नियंत्रण में निम्न फ़ाइलें रखो:।

  • .dsw (VS6 कार्यक्षेत्र)
  • .dsp (VS6 परियोजना)
  • .sln (वी.एस. समाधान)
  • * proj (विभिन्न प्रकार के वी.एस. परियोजना फ़ाइलें)
  • निश्चित रूप से
  • अपने स्रोत फ़ाइलें और अन्य कलाकृतियों आपके द्वारा बनाए गए

नहीं संस्करण नियंत्रण में निम्न फ़ाइलें डाल कार्य करें:

  • .ncb
  • .suo (कुछ ब्राउज़िंग या intellsense से कोई लेना देना) (विंडो प्लेसमेंट की तरह उपयोगकर्ता कार्यक्षेत्र सेटिंग्स, आदि - मुझे लगता है कि)
  • .user (breakpoints की तरह उपयोगकर्ता परियोजना सेटिंग्स, आदि - मुझे लगता है कि)

इसके अलावा, (हेडर कि उत्पन्न किया जा सकता है) की तरह किसी भी वस्तु फ़ाइलें, निष्पादनयोग्य, स्वत: जनरेट फाइलों में न रखें।

निष्पादन योग्य और अन्य जेनरेट की गई फ़ाइलों के लिए - यदि आप रिलीज़ संग्रहित करने में सक्षम होना चाहते हैं तो अपवाद हो सकता है। यह एक अच्छा विचार हो सकता है, लेकिन आप शायद अपने स्रोत कोड की तुलना में थोड़ा अलग और संभावित रूप से एक अलग स्थान पर प्रबंधन करना चाहते हैं। यदि आप ऐसा करते हैं, तो अपनी .pdb फ़ाइलों को भी संग्रहित करें ताकि आप बाद में सामान को डीबग कर सकें। आप संग्रहीत प्रतीकों को संग्रहीत करने के लिए एक सिंबल सर्वर का उपयोग करना चाह सकते हैं (प्रतीक सर्वर और उसके दस्तावेज़ के लिए Debugging Tools for Windows देखें)।

Ankh.Load 
*.projdata 
*.pdb 
*.positions 
*proj.user 
*proj.*.user 
*.ncb 
*.suo 
*.plg 
*.opt 
*.ilk 
*.pch 
*.idb 
*.clw 
*.aps 
+0

नाइट-पिकिंग: आपका कहना है कि 'निष्पादन योग्य नहीं है', लेकिन अगले अनुच्छेद में आप एक कह सकते हैं! – PJTraill

2

मामले में आप इग्नोर लिस्ट में प्रयोग कर रहे हैं, SVN केस संवेदी है। इसलिए बिन और बिन फ़ोल्डरों को अलग से अनदेखा करना याद रखें।

इसके अलावा, मेरे पास एक सवाल था .. स्थिति आइकन रीफ्रेश करने में कुछ समय क्यों लगता है? कभी-कभी यह बहुत भ्रमित हो जाता है।

1

एक Mercurial अनदेखा सूची के लिए Mercurial .hgignore for Visual Studio 2008 projects देखें। मैं एसवीएन अनदेखा सूची के सिंटैक्स से परिचित नहीं हूं लेकिन इस धागे में विजुअल स्टूडियो में अनदेखा करने की कुछ अच्छी सूचियां हैं।

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