परियोजना फ़ोल्डर का नाम बदलने के लिए मेरा वर्तमान समाधान है:
- समाधान से परियोजना निकालें।
- Visual Studio के बाहर फ़ोल्डर का नाम बदलें।
- समाधान के लिए प्रोजेक्ट को फिर से जोड़ें।
क्या कोई बेहतर तरीका है?
परियोजना फ़ोल्डर का नाम बदलने के लिए मेरा वर्तमान समाधान है:
क्या कोई बेहतर तरीका है?
जवाबों:
टीएफएस उपयोगकर्ता: यदि आप स्रोत नियंत्रण का उपयोग कर रहे हैं जो आपको अपनी नाम बदलने वाली फ़ाइलों / फ़ोल्डरों से पहले इसे चेतावनी देने की आवश्यकता है तो इसके बजाय इस उत्तर को देखें जो आवश्यक अतिरिक्त चरणों को शामिल करता है।
किसी प्रोजेक्ट के फ़ोल्डर का नाम बदलने के लिए , फ़ाइल ( .*proj
) और दृश्य स्टूडियो में नाम प्रदर्शित करें :
.sln
फ़ाइल को सीधे किसी अन्य संपादक जैसे नोटपैड ++ में खोलें और इसके बजाय वहां पथ अपडेट करें। (आपको टीएफएस आदि में पहले समाधान की जांच करने की आवश्यकता हो सकती है)नोट: अन्य सुझाए गए समाधान जिसमें हटाने को शामिल किया गया है और फिर समाधान में परियोजना को फिर से जोड़ना परियोजना के संदर्भों को तोड़ देगा।
यदि आप इन चरणों का पालन करते हैं तो आप मिलान के लिए निम्नलिखित का नाम बदलने पर भी विचार कर सकते हैं:
निम्नलिखित विधानसभा विशेषताओं के मूल्यों को संशोधित करने पर भी विचार करें :
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
ऐसा करने का एक और तरीका है, * .sol, * csproj फ़ाइलों का उपयोग करना।
यह इस तरह होगा (* .sol फ़ाइल के सापेक्ष):
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"
और उदाहरण के लिए बस नए भाग के पहले भाग को बदलें:
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
बेशक, पूरी परियोजना को उस निर्देशिका में स्थानांतरित करने के लिए मत भूलना।
यह दृश्य स्टूडियो 2015 में सीधा है (संभवतः पुराने संस्करणों में काम करता है)
.sln
में फ़ाइल को संपादित करें , और csproj के पथ को बदलें, अर्थात, → ।fu\bar.csproj
bar\bar.csproj
यार, क्या मैंने इससे संघर्ष किया है। दुर्भाग्य से विज़ुअल स्टूडियो में एक क्लिक समाधान नहीं है, लेकिन यदि आप विजुअल स्टूडियो 2012 चला रहे हैं और आपकी परियोजना टीम फाउंडेशन सर्वर के साथ स्रोत नियंत्रण में है , तो यहां मैंने स्रोत इतिहास को ध्यान में रखते हुए इसे कैसे काम किया:
(सुनिश्चित करें कि आपने @ mjv की टिप्पणी नीचे पढ़ी है, क्योंकि वह नोट करता है कि आप चरण 5-10 छोड़ सकते हैं)
उपरोक्त गाइड ने मेरे लिए काम किया। यदि यह आपके लिए काम नहीं करता है, तो कोशिश करें और अपने स्थानीय समाधान को पूरी तरह से हटा दें, और अपने कार्यक्षेत्र में फ़ोल्डर मैपिंग को हटा दें। केवल दृश्य स्टूडियो को पुनरारंभ करें। सुनिश्चित करें कि आपने वास्तव में अपने कंप्यूटर से पूरा समाधान हटा दिया है। अब अपने कार्यक्षेत्र में समाधान मानचित्रण पढ़ें और नवीनतम संस्करण प्राप्त करें। अब उपरोक्त चरणों का प्रयास करें। यदि उपरोक्त चरणों का पालन करते समय कुछ गलत हो जाता है तो वही लागू होता है। बस अपना समाधान स्थानीय रूप से हटाएं और नवीनतम स्रोत प्राप्त करें, और आपके पास काम करने के लिए एक साफ स्लेट होगा।
यदि आपको अभी भी समस्याएं हो रही हैं, तो सुनिश्चित करें कि आपने समाधान फ़ाइल में मैन्युअल रूप से कुछ भी नहीं बदला है, या उपरोक्त चरणों को आज़माने से पहले अन्य 'ट्रिक्स' आज़मा रहे हैं। यदि आपने कुछ बदला है और इसे चेक किया है, तो आप प्रोजेक्ट के नाम बदलने के साथ ही गड़बड़ करना शुरू करने से पहले बिंदु पर रोलबैक करने पर विचार कर सकते हैं।
बेशक, आप समाधान एक्सप्लोरर में स्वयं प्रोजेक्ट का नाम बदलना चाहते हैं। आप ऊपर दिए गए चरणों से पहले ऐसा कर सकते हैं, लेकिन उस स्थिति में, ऊपर दिए गए चरणों को लागू करने से पहले सुनिश्चित करें कि आप उस परिवर्तन की जाँच कर लें। आप इसे बाद में भी कर सकते हैं, लेकिन सुनिश्चित करें कि आप पहले ऊपर दिए गए सभी चरणों का पालन करें, और समाधान एक्सप्लोरर में परियोजना का नाम बदलने की कोशिश करने से पहले अपने परिवर्तनों की जांच करें। मैं समाधान एक्सप्लोरर में प्रोजेक्ट नाम के नाम के साथ उपरोक्त चरणों को मिलाने की कोशिश नहीं कर रहा हूं। हालांकि यह काम कर सकता है, लेकिन मैं इसे 2 अलग-अलग परिवर्तनों में करने की सिफारिश करूंगा।
VS2012
! ध्यान दें कि आप चरण 5-10 से बच सकते हैं (अर्थात स्रोत नियंत्रण में पुनर्नामित फ़ोल्डरों को वापस लाने के लिए) यदि, इसके बजाय, आप समाधान को बंद करते हैं और उसके VS' Source Control Explorer
बजाय फ़ोल्डरों का नाम बदलें Windows Explorer
।
Folder already exists
। इसलिए मुझे उस फ़ोल्डर को फिर से नाम बदलना पड़ा , फिर WE
उसे बदल दिया SCE
, फिर फ़ाइलों को उस फ़ोल्डर में कॉपी कर लें, इससे पहले कि वह काम करे। तो ऊपर mjv से टिप्पणी का पालन करें। मैंने वास्तविक परियोजना फ़ाइल नामों (न केवल वीएस में) को बदलने की आवश्यकता के बारे में सोचा था, जो कि मैंने बाद में इन चरणों में से कुछ को दोहराने के लिए किया था।
वर्तमान में नहीं। ठीक है, वास्तव में आप टूटे हुए प्रोजेक्ट नोड पर क्लिक कर सकते हैं और प्रॉपर्टी 'पाथ' के लिए प्रॉपर्टी लुक में, छोटे ब्राउज़ आइकन पर क्लिक करें, और नया पथ चुनें।
Voilà :)
सरल उपाय निम्नलिखित है:
चार आवश्यक कदम हैं, लेकिन सात की सिफारिश की गई है। दिन के अंत में हालांकि परियोजना का पूरा नाम बदल दिया जाता है। तकनीकी रूप से, परियोजना के लिए फ़ोल्डर का नाम परियोजना से मेल नहीं खाता है, इसलिए यहां तक कि कदम वैकल्पिक है, लेकिन यह भ्रमित हो सकता है यदि वे मेल नहीं खाते हैं। विधानसभा और नामों के नामों के लिए समान है।
में andersjanmyr के जवाब में यह पहली परियोजना का नाम बदलने का आसान है।
इसके अलावा, उन चरणों को पूरा करने के बाद, आप अपने पुराने प्रोजेक्ट नाम के अन्य संदर्भों का नाम बदलना चाह सकते हैं।
प्रोजेक्ट गुणों में, असेंबली का नाम और डिफ़ॉल्ट नामस्थान अपडेट करें।
यह प्रोजेक्ट फ़ाइल में निम्न अद्यतन करेगा ...
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
... और त्रुटि से छुटकारा मिलेगा "नाम स्थान फ़ाइल स्थान के अनुरूप नहीं है, होना चाहिए: 'SomeProjectNN'"
अपने रूट नेमस्पेस का नाम बदलें (यदि आपके पास ReSharper राइट है तो Namespace पर क्लिक करें और Refactor -> Rename) जाएं।
विधानसभा में अपने पुराने प्रोजेक्ट के नाम की सभी घटनाओं को बदलें ।
Visual Studio 2017 के लिए आप मेरे Visual Studio एक्सटेंशन का उपयोग कर सकते हैं:
यह परियोजना का नाम बदल देगा:
[assembly: InternalsVisibleTo("MyTests")]
। जब मैंने नाम बदला MyTests
, तो उस संदर्भ का नाम नहीं बदला। फिर से, मुझे नहीं लगता कि यह आपके दायरे में आता है और मैन्युअल रूप से हल करना आसान है।
मुझे बस यह स्वयं करना था (दृश्य स्टूडियो 2010 का उपयोग करके)। जैसा कि कुछ लोगों ने उत्तर दिया है, सबसे सरल कदम लगता है:
विज़ुअल स्टूडियो + गिट का उपयोग करने वालों के लिए और फ़ाइल इतिहास (दोनों परियोजनाओं और / या समाधान का नाम बदलने के लिए काम करता है) रखना चाहते हैं:
Visual Studio को बंद करें
.Gitignore फ़ाइल में, उन पथों के नामांकित संस्करणों के साथ आप जिस प्रोजेक्ट का नाम बदलना चाहते हैं, उसके सभी इग्नोर किए गए रास्तों की नक़ल करें।
इस तरह Git चाल कमांड का उपयोग करें:
git mv <old_folder_name> <new_folder_name>
अतिरिक्त विकल्पों के लिए प्रलेखन देखें: https://git-scm.com/docs/git-mv
आपकी .sln फ़ाइल में: अपने प्रोजेक्ट को परिभाषित करने वाली लाइन ढूंढें और फ़ोल्डर का नाम पथ में बदलें। लाइन कुछ इस तरह दिखनी चाहिए:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
विज़ुअल स्टूडियो खोलें, और प्रोजेक्ट पर राइट क्लिक करें → नाम बदलें
बाद में, नाम स्थान का नाम बदलें।
मैंने पढ़ा कि ReSharper के पास इसके लिए कुछ विकल्प हैं। लेकिन मेरे लिए साधारण खोज / प्रतिस्थापन ने काम किया।
पुराने .ignignore रास्ते निकालें।
इसने मेरे लिए काम किया।
विजुअल स्टूडियो 2017 में मेरे लिए क्या काम किया गया:
इसने " प्रोजेक्ट को फिर से जोड़ने " जैसा कुछ कहा । मैंने सब कुछ फिर से बनाया और सब कुछ जाना अच्छा था।
Dependencies
>> Add reference
>> अपनी नई परियोजना का चयन करें )
मुझे ऐसा बहुत बार करना पड़ा है। किसी मौजूदा प्रोजेक्ट को पुन: प्रस्तुत करने में सक्षम होने के लिए वास्तव में उपयोगी है, लेकिन नामस्थान, फ़ाइलों और फ़ोल्डरों में पाठ का नाम बदलने में सक्षम हो (फ़ाइल / निर्देशिका नामों सहित)।
एक पुनरावर्ती खोज का उपयोग करना और रूट फ़ोल्डर में शुरू करने का मतलब है इसका नाम समाधान फ़ाइलों और परियोजना संदर्भों में परियोजनाओं के लिंक को तोड़ना नहीं है।
यह अंत करने के लिए, मैंने ऐसा करने के लिए एक परियोजना बनाई है। अनुप्रयोग संस्करण नियंत्रण फ़ोल्डर जैसे .it, .svn और .vs सेटिंग्स फ़ाइल को अनदेखा करने का भी प्रयास करता है। अधिक जानकारी README में है।
बिजनेस इंटेलिजेंस (एसएसडीटी-बीआई 2013) के लिए डेटा टूल्स के लिए विजुअल स्टूडियो एक्सटेंशन का एक सिद्ध समाधान:
यह 100% परीक्षण किया गया था और मेरे मामले में निर्दोष रूप से काम किया।
ध्यान दें: मैं पुष्टि नहीं कर सकता कि यह विभिन्न प्रोजेक्ट टेम्पलेट्स और अन्य विज़ुअल स्टूडियो संस्करणों के तहत काम करता है। हमेशा की तरह, पहले से ही सब कुछ बैकअप करें।
मैंने एक छोटा उपकरण लिखा है जो इन सभी चरणों को स्वचालित करता है। यह अब के लिए तोड़फोड़ का भी समर्थन करता है ।
वर्तमान रिलीज़ के बारे में जानकारी Visual Studio Project Renamer Infos में देखी जा सकती है ।
नवीनतम रिलीज़ को अब Visual Studio Project Renamer डाउनलोड पृष्ठ से डाउनलोड किया जा सकता है ।
प्रतिक्रिया बहुत सराहना की है।
मुझे अक्सर विजुअल स्टूडियो में एक प्रोजेक्ट का नाम बदलने और फ़ोल्डर नाम, प्रोजेक्ट का नाम, और .sln फ़ाइल को संपादित करने की एक ही समस्या थी। मैंने सिर्फ एक VBScript स्क्रिप्ट लिखी थी जो कि सभी को पूरा करती है। आपको उन स्ट्रिंग्स से सावधान रहना होगा जिन्हें आप बदलने के लिए चुनते हैं।
आपको बस .vbs फ़ाइल को समाधान की .sln फ़ाइल के समान निर्देशिका में रखना होगा।
' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"
Const ForReading = 1
Const ForWriting = 2
Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)
' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close
' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"
' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject
नोट : यह फिक्स विजुअल स्टूडियो 2008 के लिए है, लेकिन इसे यहां काम करना चाहिए।
.sln
पैरेंट फ़ोल्डर में स्थित फाइल को डिलीट करें ।.sln
फ़ाइल में परिवर्तन सहेजना चाहते हैं । क्लिक करें Yes।.sln
फ़ाइल का फ़ोल्डर के समान नाम है। इसकी आवश्यकता नहीं है, लेकिन यह स्थिरता बनाए रखता है।)किया हुआ।
TFS का उपयोग करते समय, चरण 2 वास्तव में स्रोत नियंत्रण में फ़ोल्डर का नाम बदलने के लिए है और फिर समाधान को फिर से खोलने से पहले नवीनतम प्राप्त करें।
हमने हाल ही में एक मुफ़्त विज़ुअल स्टूडियो एक्सटेंशन का बीटा अपलोड किया है जो आपके लिए यह सामान करता है।
विज़ुअल स्टूडियो गैलरी पर एक नज़र डालें: गैलरी डाउनलोड
एक टेक्स्ट एडिटर में .sln खोलें, और निम्नलिखित लाइन में परिवर्तन करें <FolderName> को अपने नए फ़ोल्डर नाम प्रोजेक्ट ("{FAE04EC0-3F-11D3-BF4B-00C04F79EFBCBC") = "=" रिकी "," \-csproj ","। {021CC6B0-8CFB-4194-A103-C19AF869D965} "
फ़ोल्डर का नाम बदलने के बाद, नोटपैड में .sln फ़ाइल खोलें और पथ को नए पथ में बदलें।
जब कोई नया प्रोजेक्ट बनाना होता है, तो इसी तरह की समस्याएँ आती हैं, और आप प्रोजेक्ट नाम से अलग प्रोजेक्ट फ़ोल्डर नाम चाहते हैं।
जब आप एक नया प्रोजेक्ट बनाते हैं, तो यह स्टोर हो जाता है
./path/to/pro/ject/YourProject/YourProject.**proj
मान लें कि आप इसे सीधे ject
फ़ोल्डर में रखना चाहते हैं :
./path/to/pro/ject/YourProject.**proj
इसे पूरा करने के लिए मेरा काम पथ के अंतिम भाग के साथ परियोजना को उसके नाम के रूप में बनाना है, ताकि यह एक अतिरिक्त निर्देशिका न बना सके:
./path/to/pro/ject/ject.**proj
जब आप अब Visual Studio के भीतर से प्रोजेक्ट का नाम बदलते हैं, तो आप Visual Studio छोड़ने के बिना लक्ष्य प्राप्त करते हैं:
./path/to/pro/ject/YourProject.**proj
इस दृष्टिकोण के नकारात्मक पक्ष यह है कि आपको डिफ़ॉल्ट नाम स्थान और आउटपुट बाइनरी के नाम को भी समायोजित करना होगा, और आपको प्रोजेक्ट टेम्पलेट के भीतर शामिल सभी फ़ाइलों में नामस्थान अपडेट करना होगा।
मैं Visual Studio 2013 और TFS 2013 का उपयोग करता हूं ।
मैंने इसे इस तरह किया:
एक सरल तरीका है जिसे विज़ुअल स्टूडियो 2013 अपडेट 1 में परीक्षण किया गया था और टीएफएस-कनेक्टेड प्रोजेक्ट्स के लिए लागू किया गया था:
सबसे सरल तरीका खिड़की की संपत्ति पर जाना है, डिफ़ॉल्ट नामस्थान का नाम बदलना है, और फिर नाम बदला गया है।
मैंने निम्नलिखित कार्य किया:
<संपूर्ण फ़ोल्डर का बैकअप बनाएं>
Visual Studio 2013 (वैकल्पिक / आवश्यक नहीं) के भीतर से प्रोजेक्ट का नाम बदलें।
टेम्पलेट के रूप में प्रोजेक्ट निर्यात करें।
समाधान बंद करें।
समाधान फिर से खोलें
सहेजे गए टेम्प्लेट से एक प्रोजेक्ट बनाएं और उस नाम का उपयोग करें जिसे आप पसंद करते हैं।
पिछली परियोजना के समाधान एक्सप्लोरर से हटाएं।
इस बिंदु पर मैंने नए समाधान को संकलित करने की कोशिश की, और ऐसा करने के लिए, मुझे पुराने प्रोजेक्ट फ़ोल्डर से नए प्रोजेक्ट फ़ोल्डर में कुछ संसाधनों और हेडर को मैन्युअल रूप से कॉपी करना पड़ा। इसे तब तक करें जब तक कि यह त्रुटियों के बिना संकलित न हो जाए। अब इस नई परियोजना ने " .exe" फ़ाइल को पिछले फ़ोल्डर में सहेजा है। "
तो ->
विंडोज एक्सप्लोरर पर जाएं और पुराने प्रोजेक्ट फ़ोल्डर से नए प्रोजेक्ट फ़ोल्डर में मैन्युअल रूप से समाधान फ़ाइल की प्रतिलिपि बनाएँ।
समाधान बंद करें, और नई परियोजना के भीतर से समाधान खोलें।
यदि आवश्यक हो तो कॉन्फ़िगरेशन को वापस (x64) में बदल दिया।
समाधान के फ़ोल्डर से पुराने नाम के साथ प्रोजेक्ट का फ़ोल्डर हटाएं।