विजुअल स्टूडियो कॉपी प्रोजेक्ट


141

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

क्या ऐसा करने के लिए वीएस में एक उपकरण है? मैं VS 2008 का उपयोग कर रहा हूं

जवाबों:


144

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


25
क्या होता है ProjectGUID, फिर?
लार्स कॉर्नेलियुसेन

4
यदि आपके पास किसी भी SVN फाइलों को डिलीट करना भूल जाते हैं नहीं है (मैंने किया!) -> weblogs.asp.net/jgalloway/archive/2007/02/24/...
qbantek

51
यदि GUID वाला कोई अन्य प्रोजेक्ट समान समाधान में मौजूद है, तो प्रोजेक्ट GUID को VS द्वारा स्वचालित रूप से अपडेट किया जाता है।
सेबेस्टियन क्रिम्समेंस्की

3
मैं यह कोशिश कर रहा हूँ, लेकिन यह अनुप्रयोग नामस्थान का नाम नहीं बदलता है। वह नहीं, जिसकी मुझे तलाश थी।
जेसन

3
समुदाय 2017 संस्करण 15.8.4 में वी.एस. द्वारा प्रस्तावित स्वचालित रूप से अनुमानित परियोजना नहीं। वास्तव में, यह कैसे हो सकता है यदि आपका असेम्बलीइन्फो.ऑक्स सोर्स कोड कंट्रोल में हो?
पीटरवर्मोंट

134

बस एक टेम्पलेट बनाएं ;

आपके प्रोजेक्ट में से: प्रोजेक्ट - एक्सपोर्ट टेम्पलेट

विज़ार्ड आपको परिभाषित करेगा

  • टेम्पलेट नाम
  • टेम्पलेट विवरण
  • चिह्न
  • पूर्वावलोकन छवि

फिर यह आपकी परियोजना को 'मेरे निर्यातित टेम्प्लेट' निर्देशिका में बदल देता है। जब आप एक नया प्रोजेक्ट बनाते हैं तो आपके पास अपना खाका उपलब्ध करने का विकल्प भी होता है।

जब आप एक नया प्रोजेक्ट बनाने के लिए अपने टेम्पलेट का उपयोग करते हैं, तो प्रत्येक फ़ाइल में 'your_new_project_name' के लिए नाम स्थान सही होगा, सभी संदर्भ सही, सब कुछ सही :)

आप किसी को भी .zip फ़ाइल भेज सकते हैं, और उन्हें उपयोग करने के लिए Templates \ ProjectTemplates निर्देशिका में .zip फ़ाइल को कॉपी (अनज़िप नहीं) करना होगा।

मैंने फ़ोल्डरों, लेआउट पेज, व्यूमॉडल आदि के साथ ASP.NET MVC टेम्पलेट बनाया, बस उन्हें मैं कैसे पसंद करता हूं।

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


28
IMO, सर्वश्रेष्ठ उत्तर।
20 अक्टूबर को

14
VS2017 में एक्सपोर्ट टेम्पलेट प्रोजेक्ट टॉप लेवल मेन्यू आइटम के तहत था।
चोको

3
यह अविश्वसनीय रूप से उपयोगी है, मुझे पहले इस बारे में कैसे नहीं पता था? धन्यवाद!
एल्डरियन

5
यह चुना हुआ उत्तर होना चाहिए। बहुत आसान! इस प्रक्रिया को आपके Templates \ ProjectTemplates फ़ोल्डर में भी कॉपी किया जाना चाहिए, बस सुनिश्चित करें। मुझे अपने प्रोजेक्ट निर्माण संवाद में इसे देखने के लिए अपने विज़ुअल स्टूडियो को पुनः आरंभ करना पड़ा।
midoriha_senpai

3
जब एक नई परियोजना बनाने के लिए टेम्पलेट आयात करने का समय आया , तो मुझे यह पता नहीं चल सका कि यह कैसे करना है। पता चला मुझे खाका खोजने के लिए नए प्रोजेक्ट संवाद में खोज पट्टी का उपयोग करना पड़ा।
तवाब वाकिल

6

मुझे लगता है कि अगर यह कुछ ऐसा है जो आप अक्सर करते हैं, तो थोड़ी (गैर-मुक्त) उपयोगिता है जो आपके लिए यह करने का वादा करती है: मैंने इसका उपयोग नहीं किया है, इसलिए यह सुनिश्चित नहीं है कि यह कितना अच्छा है:

http://www.kinook.com/CopyWiz/

CodePlex पर यह परियोजना भी है:

http://clone.codeplex.com/

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


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

4

यह बिल्कुल भी परियोजनाओं को कॉपी करने के लिए स्वीकार्य नहीं है क्योंकि कुछ कॉन्फिगरेशन फाइलें आंतरिक रूप से बनती हैं जैसे .csproj, .vspscc इत्यादि (और शायद सबसे ज्यादा) उन संदर्भों की ओर इशारा करती हैं जो पिछले समाधानों के स्थान और सिस्टम में या अन्य रास्तों या स्थानों से संबंधित हैं। TFS। जब तक आप इन फ़ाइलों को पढ़ने और संदर्भों को ठीक करने के विशेषज्ञ नहीं हैं, तब तक परियोजनाओं को कॉपी करने की कोशिश न करें।

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

यह सब कहने के बाद, मैं आपको चरण-दर-चरण तरीके से किसी भी तरह परियोजना की प्रतिलिपि बनाने की विधि देता हूँ:

  1. उस प्रोजेक्ट पर जाएं जिसे आप समाधान एक्सप्लोरर में कॉपी करना चाहते हैं और राइट-क्लिक करें
  2. अब चयन ' फ़ाइल Explorer में फ़ोल्डर खोलें ' (मान लें कि आप समाधान आपकी डिस्क पर एक स्थानीय पथ से मैप किया गया है)।
  3. उन प्रोजेक्ट्स का चयन करें जिन्हें आप पूरे फ़ोल्डरों के रूप में (सभी निर्भरता के साथ, बिन .vpspscc फ़ाइल, .cspjp) के रूप में दोहराना चाहते हैं।
  4. उन्हें अपने इच्छित स्थान पर पेस्ट करें (यह आपका वही समाधान फ़ोल्डर या यहां तक ​​कि अन्य समाधान फ़ोल्डर भी हो सकता है। यदि यह एक ही समाधान फ़ोल्डर में है, तो आपको इसका नाम बदलने की आवश्यकता होगी, नए नाम के लिए .csproj और अन्य आंतरिक फ़ाइलें भी। )।
  5. विजुअल स्टूडियो में वापस नहीं जाएं, समाधान पर राइट क्लिक करें> जोड़ें> मौजूदा परियोजना ...
  6. उस स्थान से अब प्रोजेक्ट फ़ाइल (.csproj फ़ाइल) को ब्राउज़ करें और चुनें, जिसे ' खोलें ' चुनें
  7. यह फ़ाइल अब आपके लिए काम करने के लिए समाधान एक्सप्लोरर में दिखाई देती है।

अब आपको कुछ निर्मित त्रुटियों को संभवतः डुप्लिकेट / अनुपलब्ध संदर्भों और सामान के साथ हल करना पड़ सकता है, लेकिन अन्यथा यह तर्क और संरचना में उतना ही महत्वपूर्ण है जितना कि आप इसे होने की उम्मीद करते हैं।


2
अपडेट: 2019 के अनुसार सबसे अच्छा जवाब, @ शाने द्वारा नीचे दिया गया है। वी.एस. टेंपरेचर बनाना रेफरेंस इश्यूज के बिना प्रोजेक्ट्स को क्लोन करने का एक सही तरीका है।
विक्रम के

3

मैं इन चरणों का पालन करता हूं और मैं Resharper नामक विकास उपकरण का उपयोग करता हूं , जो इस तरह से भयानक है:

इसलिए,

  1. मौजूदा प्रोजेक्ट फ़ोल्डर को अपने इच्छित गंतव्य पर कॉपी करें
  2. स्रोत नियंत्रण पर जाएं और अपने इच्छित रूट फ़ोल्डर पर राइट क्लिक करें और "आइटम में आइटम जोड़ें ..." चुनें , फिर, कॉपी करने के लिए फ़ाइलों को चुनने के लिए एक विज़ार्ड आएगा (कुछ फ़ाइलों और कुछ फ़ाइलों की कोई आवश्यकता नहीं है) विज़ार्ड आपको इस कारण से डिफ़ॉल्ट रूप से मार्गदर्शन करता है)।
  3. समाधान फ़ाइल का नाम बदलें (* .sln)
  4. उप-परियोजनाओं के नाम बदलें यदि मौजूद हैं।
  5. बाइंडिंग नेमस्पेस नाम बदलने के लिए Resharper का उपयोग करें (मैं सुरक्षा के साथ गंदे काम को स्वचालित कर दूंगा)। वैकल्पिक तरीका है कि सभी नेमस्पेस को नए नाम से मैन्युअल रूप से बदलें।
  6. विधि नामों के साथ एक ही कार्रवाई।
  7. यदि आप बदलना चाहते हैं तो समाधान के गुणों की जाँच करें ।

बस। आप तैयार हैं!!!


1

सबसे अच्छा तरीका वास्तव में स्क्रैच से एक नया प्रोजेक्ट बनाना है, फिर उस प्रोजेक्ट फ़ाइलों के साथ फ़ोल्डर में जाएं जिसे आप कॉपी करना चाहते हैं (प्रोजेक्ट, फॉर्म 1, फ़ोल्डर्स को छोड़कर सब कुछ)। उदाहरण के लिए फ़ाइलों (form1 फ़ाइलों को छोड़कर) का नाम बदलें: मैंने अपने Ch4Ex2 प्रोजेक्ट में Ch4Ex1 फ़ाइलों की प्रतिलिपि बनाई, लेकिन पहले फ़ाइलों का नाम बदलकर Ch4Ex2 कर दिया। Visual Studio में नए प्रोजेक्ट के लिए समाधान एक्सप्लोरर में उन फ़ाइलों को कॉपी और पेस्ट करें। फिर बस फाइलों को अधिलेखित करें और आपको जाने के लिए अच्छा होना चाहिए!

पुराना धागा लेकिन मुझे आशा है कि यह किसी को भी इस उत्तर की तलाश में मदद करेगा!


0

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

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

मैंने वीएस एक्सप्रेस 2012 के साथ यह कोशिश की।


0

मेरा समाधान थोड़ा अलग है - कंप्यूटर जो पैकेज पर रहता है वह मर गया और इसलिए मुझे इसे दूसरे कंप्यूटर पर फिर से बनाने के लिए मजबूर किया गया।

मैंने (वीएस 2008 में) मेरी निर्देशिका में निम्नलिखित फाइलें खोलने के लिए क्या किया था:

                  - <package name>.djproj
                  - <package name>.dtproj.user
                  - <package name>.dtxs
                  - <package name>.sln
                  - Package.dtsx

जब मैंने यह किया तो एक पॉपअप विंडो ने मुझसे पूछा कि क्या sln फाइल एक नया समाधान बनने जा रही है और जब मैंने सब कुछ पूरी तरह से 'हां' पर क्लिक किया।


0

उपरोक्त समाधानों की कोशिश करने और एमवीसी परियोजनाओं के लिए प्रतिलिपि बनाने के बाद

MVC प्रोजेक्ट्स के लिए .csproj फ़ाइल में पोर्ट नंबरों को अपडेट करें, आप पोर्ट नंबरों की जांच करने के लिए iis applicationhost.config की मदद ले सकते हैं। समान पोर्ट नंबर IIS में असेंबली लोडिंग समस्या का कारण होगा।


0

ऊपर शेन के जवाब के बाद (जो कि बड़ा BTW काम करता है) ...

आप संदर्भ सूची में पीले त्रिकोणों के एक प्रकार का सामना कर सकते हैं। इनमें से अधिकांश एक से समाप्त किया जा सकता Build->Clean Solutionहै और Build->Rebuild Solution

मैंने कुछ Google API संदर्भों के लिए ऐसा किया था जो थोड़े अधिक ज़िद्दी थे।

एक ही संस्करण के NuGet पैकेज को पुनर्स्थापित करने की कोशिश नहीं की गई।
विजुअल स्टूडियो को लगता है कि आपने पहले ही इसे स्थापित कर लिया है।

इसे पाने के लिए:
1: मूल संस्करण को लिखें।
2: अगले उच्च संस्करण को स्थापित करें ... फिर इसे अनइंस्टॉल करें।
3: चरण # 1 से मूल संस्करण स्थापित करें।


0

मैं Visual Studio 2013 का उपयोग करता हूँ जहाँ Project> Export Template एक विकल्प नहीं है। यहाँ मैं एक परियोजना को क्लोन करने के लिए क्या उपयोग करता हूं।

अपने समाधान से: फ़ाइल> निर्यात खाका> से खाका बनाने के लिए परियोजना का चयन करें, पथ सहेजें पर ध्यान दें

यहां वीएस 2013 एसडीके डाउनलोड और इंस्टॉल करें

एक्स्टेंसिबिलिटी के तहत नया वीएसआईएक्स प्रोजेक्ट बनाएं

VSIXManifest डायलॉग से एसेट्स टैब चुनें

लेखक टेक्स्टबॉक्स में भरें

प्रकार के लिए "प्रोजेक्ट टेम्पलेट" चुनें और निर्यात किए गए टेम्पलेट को जोड़ने के लिए ब्राउज़ करें (चरण 1 में उल्लेखित पथ पर सहेजा गया)

VSIX प्रोजेक्ट सहेजें और बनाएँ। VSIX प्रोजेक्ट के ... / बिन / डिबग फ़ोल्डर पर जाएं और .vsix फ़ाइल को चलाने के लिए डबल क्लिक करें

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

आपको किसी भी dll संदर्भ को फिर से जोड़ना होगा


0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.