मैं Visual Studio 2012 या Visual Studio 2013 में एक पुरानी MVC परियोजना कैसे खोलूँ?


152

मेरे पास एक पुराना ASP.NET MVC 2 प्रोजेक्ट है जिसे मैं MVC 3 या MVC 4 में अपग्रेड नहीं करना चाहता। मैं विंडोज 8, विजुअल स्टूडियो 2012 और विजुअल स्टूडियो 2013 चलाने वाली एक नई मशीन पर काम कर रहा हूं। जब मैं एमवीसी खोलने की कोशिश करता हूं वीएस 2012 या वीएस 2013 में 2 परियोजना मुझे त्रुटि प्राप्त होती है:

यह परियोजना विज़ुअल स्टूडियो के वर्तमान संस्करण के साथ असंगत है

तब प्रोजेक्ट को अनलोड किया जाता है और सॉल्यूशन एक्सप्लोरर में धूसर हो जाता है। मैं Visual Studio की दूसरी प्रति स्थापित नहीं करना चाहता। मैं विज़ुअल स्टूडियो के नए संस्करण में एक पुरानी एमवीसी परियोजना कैसे खोल सकता हूं?


अगर आप जानते हैं तो आपने यह सवाल क्यों पूछा?
ब्रायन व्हाइट

30
@BrianWhite जब मैं आज सुबह इस समस्या में भाग गया तो मैंने एक त्वरित Google खोज की और कुछ भी नहीं आया। चूंकि मैं इस बात से परिचित हूं कि वीएस प्रोजेक्ट फाइलें कैसे काम करती हैं, मुझे इसका कारण और संभावित समाधान के रूप में अनुमान था। एक बार जब मैंने उस समाधान को सत्यापित कर लिया तो मैंने उस ज्ञान को साझा करना चाहा। जेफ के दिशानिर्देशों के आधार पर आपके अपने प्रश्न पूछना और उत्तर देना ठीक है
20

1
धन्यवाद, मुझे नहीं पता था कि। ऐसी कई चीज़ें हैं, जिन्हें मैंने पोस्ट नहीं किया है क्योंकि मैंने किसी को भी यहाँ खोजते हुए नहीं देखा।
ब्रायन व्हाइट

8
ahsteele, समाधान पोस्ट करने के लिए धन्यवाद। अपने स्वयं के प्रश्नों का उत्तर देना, जब कोई समाधान मिलता है, तो समुदाय में ज्ञान जोड़ता है।
pomarc

जवाबों:


291

Visual Studio 2012 या Visual Studio 2013 में एक असमर्थित MVC प्रोजेक्ट खोलना वास्तव में दो चरणों के साथ पूरा करना बहुत आसान है। वास्तव में, जैसा कि बाइटबेंडर की टिप्पणी इंगित करती है , इन समान चरणों को एमवीसी 1 परियोजनाओं के लिए लागू और काम करना चाहिए । हालाँकि, मैंने उनका परीक्षण नहीं किया है और इसलिए यह गारंटी नहीं दे सकता कि वे वास्तव में काम करते हैं।

यह मानते हुए कि आपने पहले से ही ऐसा कदम नहीं उठाया है , एमवीसी 1 , एमवीसी 2 या एमवीसी 3 को डाउनलोड और इंस्टॉल करना है (इंस्टॉलेशन शुरू करने से पहले विजुअल स्टूडियो को बंद करें)।

एक बार जब आपके पास MVC का उपयुक्त स्वाद स्थापित हो जाता है, तो यह परियोजना अभी भी VS 2012 में लोड नहीं होगी। ऐसा इसलिए है क्योंकि ASP.NET MVC प्रोजेक्ट वेब एप्लिकेशन प्रोजेक्ट प्रकार का एक प्रोजेक्ट उपप्रकार है। इसका मतलब यह है कि प्रोजेक्ट में अतिरिक्त ऐड इन्स हैं और विजुअल स्टूडियो के भीतर इस्तेमाल होने पर इसके लिए सुविधाएँ उपलब्ध हैं।

Visual Studio 2012 और Visual Studio 2013, ASP.NET MVC और अन्य प्रोजेक्ट प्रकारों के साथ उनकी पश्चगामी संगतता में सीमित हैं। दुर्भाग्य से, पुराने MVC बिट्स को स्थापित करने से वह नहीं बदला। Visual Studio 2012 ASP.NET MVC 3 और 4 प्रोजेक्ट फ्लेवर के साथ संगत है। दृश्य स्टूडियो 2013 MVC 4 और MVC 5 के साथ संगत है

लोड करने के लिए परियोजना प्राप्त करने के लिए आपको परियोजना फ़ाइल को संशोधित करना होगा। ऐसा करने के लिए अनलोड प्रोजेक्ट पर राइट क्लिक करें और एडिट चुनें। जो XML फ़ाइल के रूप में प्रोजेक्ट फाइल को खोलेगा। ProjectTypeGuidsनोड खोजें जो कुछ इस तरह दिखना चाहिए:

<ProjectTypeGuids>
    {F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

सूची से उचित प्रोजेक्ट गाइड निकालें:

  • ASP.NET MVC 1: {603c0e0b-db56-11dc-be95-000d561079b0}
  • ASP.NET MVC 2: {F85E285D-A4E0-4152-9332-AB1D724D3325} (ऊपर उदाहरण में दिखाया गया है)
  • ASP.NET MVC 3: {E53F8FEA-EAE0-44A6-8774-FFD645390401}
  • ASP.NET MVC 4: {E3E379DF-F4C6-4180-9B81-6769533ABE47}

हटाए गए उपयुक्त GUID के साथ इस ProjectTypeGuidsतरह दिखना चाहिए:

<ProjectTypeGuids>
    {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
</ProjectTypeGuids>

फ़ाइल को सहेजें और Visual Studio प्रोजेक्ट फ़ाइल संपादक को बंद करें। प्रोजेक्ट पर राइट क्लिक करें और पुनः लोड चुनें। यदि प्रोजेक्ट बंद नहीं होता है और Visual Studio को फिर से खोलना है। अब आपको अपने पुराने ASP.NET MVC प्रोजेक्ट के साथ अपने नए संस्करण Visual Studio में काम करने में सक्षम होना चाहिए।

एक महत्वपूर्ण बात यह है कि इन संशोधनों के बाद विजुअल स्टूडियो को पता नहीं है कि यह ASP.NET MVC प्रोजेक्ट है; इसलिए परियोजना-विशिष्ट सुविधाएँ जैसे "नियंत्रक जोड़ें, दृश्य आदि" मेनू में मौजूद नहीं होगा।


11
यह MVC 1 के लिए भी काम करता है। मैं प्रोजेक्ट फ़ाइल को संपादित करने के बाद पुनः लोड करने में सक्षम नहीं था। मुझे दृश्य स्टूडियो को बंद करना और फिर से खोलना पड़ा और फिर यह एमवीसी 1 परियोजना को लोड करने में सक्षम था। धन्यवाद! +1
बाइटबेंडर

1
अति उत्कृष्ट! मेरे लिए एक छोटे से जोड़ के साथ काम करता है ... अपने .cspproj में मेरे पास एक अतिरिक्त प्रोजेक्ट टाइप था: {F85E285D-A4E0-4152-9332-AB1D724D3325}; जिसे हटाने की जरूरत है।
केविन वोन

2
@JookyDFW प्रवासन उपयोगिता के साथ समस्या यह है कि यह एक प्रवास उपयोगिता है । इस विशेष परियोजना के लिए प्रश्न में गणना नहीं किए गए कारणों के लिए मैं MVC 2 से अपग्रेड नहीं कर सका। हालांकि इस परियोजना को अपग्रेड नहीं किया जा सका, फिर भी मुझे इस पर काम करने की आवश्यकता थी।
वीसी

3
@RyanShripat जो मेरा अनुभव बिलकुल नहीं था। ASP.NET MVC के पुराने संस्करणों को स्थापित किया जाना चाहिए लेकिन VS 2010 का उपरोक्त पर कोई प्रभाव नहीं है।
ahsteele

2
@Nanu टिप्पणी के लिए धन्यवाद, यह स्पष्ट करने के लिए कि मेरा क्या मतलब है: " ध्यान देने वाली एक महत्वपूर्ण बात यह है कि इन संशोधनों के बाद विजुअल स्टूडियो को पता नहीं है कि यह ASP.NET MVC प्रोजेक्ट है; इसलिए परियोजना-विशिष्ट विशेषताएं; जैसे "जोड़ें नियंत्रक, दृश्य आदि" मेनू में मौजूद नहीं होंगे। "
ahsteele

4

मैंने @ ahsteele के दृष्टिकोण का उपयोग किया (धन्यवाद और 2x + 1s!), लेकिन एक और त्रुटि थी: -

.csproj: एरर: ऑपरेशन पूरा नहीं हो सका। अमान्य वर्ग स्ट्रिंग

मुझे उस के वास्तविक कारण के लिए कोई उद्धरण नहीं मिल सकता है, लेकिन मैं इस परियोजना को सफलतापूर्वक बदलने के लिए लोड करने के लिए VS2012RTM प्राप्त करने में सक्षम था <ProjectGuid>। (कोई विचार है कि यह कैसे हुआ - एक बड़े समाधान और की अपनी ओर से VS08, VS10, VS11 बीटा और VS2012RC सभी को अपग्रेड किया है .csprojऔर .slnसमय के साथ।


1

VS2017 में समाधान सिर्फ <ProjectTypeGuids></ProjectTypeGuids>इतना है कि इसे बनाने के लिए है ।

महिलाओं और सज्जनों के बीच कोई अंतर नहीं है, अन्यथा यह आपके समय के 48 घंटे बर्बाद करेगा।

सादर

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