आप Visual Studio को aspx / ascx फ़ाइलों के लिए .designer फ़ाइलों को पुनः बनाने के लिए कैसे बाध्य करते हैं?


395

कभी-कभी जब मैं पृष्ठ संपादित कर रहा होता हूं या .designer फ़ाइलों को नियंत्रित करता हूं, तो मैं जिस नए नियंत्रण को पृष्ठ पर रख रहा हूं, उसके साथ अपडेट होना बंद हो जाता है। मुझे यकीन नहीं है कि ऐसा होने का कारण क्या है, लेकिन मैं सोच रहा हूं कि क्या .designer फ़ाइल को पुनः प्राप्त करने के लिए Visual Studio को मजबूर करने का कोई तरीका है। मैं विजुअल स्टूडियो 2008 का उपयोग कर रहा हूं

संपादित करें: क्षमा करें, मुझे ध्यान देना चाहिए कि मैंने पहले ही प्रयास किया है:

  • सभी फाइल और विजुअल स्टूडियो को बंद करना और फिर से खोलना
  • पृष्ठ पर एक रनैट = "सर्वर" नियंत्रण में परिवर्तन करना
  • पृष्ठ निर्देश को हटाना और फिर से जोड़ना

57
यह हास्यास्पद है कि 2012 में विजुअल स्टूडियो में अभी भी स्रोत फ़ाइलों से डिजाइनर फ़ाइलों को पुनर्जीवित करने के लिए एक संदर्भ मेनू आइटम नहीं है? यह भ्रष्ट DLL के पुनर्निर्माण में सक्षम नहीं है। मुझे यह समझ में नहीं आता है .. विशेष रूप से बाहरी स्रोत नियंत्रण और बाहरी संपादकों के साथ आप विजुअल स्टूडियो को अपंग छोड़ देते हैं। पैसे की बर्बादी, अगर आप मुझसे पूछें। मैं वास्तव में संसाधन फ़ाइल डिजाइनरों को पुनर्जीवित करने की कोशिश कर रहा हूं। मैं इसे फिर से पाने के लिए संपादित करने में कामयाब रहा , लेकिन यह अस्पष्टता के माध्यम से है ... औघ !!! 1
बम्बाम्स

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

13
क्या वीएस 2015 के लिए कोई समाधान है?
एंटोन

अन्य प्रयासों के लिए संबंधित stackoverflow.com/questions/6508252/… देखें ।
गोयडे

2
स्थायी निर्धारण नहीं है, लेकिन यह .cs फ़ाइल में संदर्भों को नियंत्रित करता है: 1. संबंधित .aspx फ़ाइल खोलें; 2. <%@ Pageनिर्देश रेखा के अंत में एकल ">" हटाएं ; 3. एक या दो सेकंड रुको; 4. ">" वापस रखो। 5. .cs फ़ाइल पर स्विच करें और आप देखेंगे कि यह अब नियंत्रण संदर्भ त्रुटियों से मुक्त है। मैं यह अब उम्र के लिए कर रहा हूं, हर बार, हर वीएस संस्करण में काम करता है।
ingredient_15939

जवाबों:


368

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

VS2013-15 में प्रोजेक्ट मेनू के तहत Convert to Web Application कमांड है । VS2013 से पहले यह विकल्प (सी / पी) x फ़ाइलों के लिए राइट-क्लिक संदर्भ मेनू में उपलब्ध था। जब यह हो जाता है तो आपको यह देखना चाहिए कि अब आपके पास * .Designer.cs फ़ाइल उपलब्ध है और डिज़ाइन HTML के भीतर आपके नियंत्रण आपके नियंत्रण के लिए उपलब्ध होंगे।

पुनश्च: यह डिबग मोड में नहीं किया जाना चाहिए, क्योंकि डिबगिंग के दौरान सब कुछ "recompiled" नहीं है।

कुछ लोगों ने (.designer.cs फ़ाइल की बैकअप प्रति बनाकर और फिर) .designer.cs फ़ाइल हटाकर सफलता की सूचना दी है। एक ही नाम के साथ एक खाली फ़ाइल को फिर से बनाएँ।

इस उत्तर के लिए कई टिप्पणियां हैं जो कि डिज़ाइनर.एससी फ़ाइल को फिर से बनाने के लिए सबसे अच्छा सुझाव देती हैं।


1
VS2008 के हर उदाहरण (यहां तक ​​कि पूरी तरह से अलग समाधान के साथ) को बंद करने के बाद ही मेरे लिए काम किया
केविन

11
मैंने पाया कि डिबग मोड से रिलीज़ मोड में बदलने के लिए मेरे लिए चाल खोद दी, धन्यवाद
क्रिस

5
बस यह कहना चाहता था कि मुझे एक ही त्रुटि हो रही थी और इस पृष्ठ पर सब कुछ करने की कोशिश की, जिसमें कुछ भी काम नहीं हुआ। पता चला कि मुझे एक div> जो कि runat = "server" था, में एक "नज़दीकी टैग" याद आ रहा था। रनिंग वीएस -2008।
बेरेरॉकर

10
"वेब एप्लिकेशन में कनवर्ट करें" दिखाई देने के लिए, सबसे पहले आपको समाधान एक्सप्लोरर में एस्पक्स फ़ाइल को क्लिक करके डिजाइनर डिलीट फाइल को हटाना होगा और डिलीट का चयन करना होगा। इसने मेरे लिए वीएस 2010 में काम किया।
डेवलपर

43
VS2013 में प्रोजेक्ट मेनू के तहत Convert to Web Application है। अब केवल संदर्भ मेनू में नहीं है।
डेनिस बर्टन

95

वैसे मुझे एक समाधान मिला जो काम करता है, हालाँकि मुझे यह पसंद नहीं है। मुझे .designer.cs फ़ाइल को हटाना था, फिर उसी नाम से एक खाली फ़ाइल को फिर से बनाना था। जब मैं वापस अंदर गया और फिर से aspx फ़ाइल को सहेजा, तो डिज़ाइनर फ़ाइल को फिर से जेनरेट किया गया।

कुशल!


3
यह सिर्फ मेरे लिए भी काम किया। आदर्श नहीं। पता नहीं क्यों मूल desginer फ़ाइल को ठीक से अद्यतन करना बंद कर दिया।
इलेन होल्डर

3
इसने मेरे लिए काम नहीं किया। अब मेरे पास एक खाली फ़ाइल है और पीछे के सभी कोड काम नहीं करते हैं !!! रिबूटिंग ...
डाइनिंगफिलेंडर

7
इसने मेरे लिए काम किया। मैंने मूल को हटाना सुनिश्चित किया, एक ही नाम के साथ एक नया डिज़ाइनर .cs फ़ाइल बनाएँ, नई फ़ाइल को बंद करें, .as (p / c) x फ़ाइल को थोड़ा सा सहेजने के लिए संशोधित करें, फिर यह सब अच्छा था।
TJB

9
यदि आपके पास दृश्य संकलन त्रुटि है, तो यह वापस नहीं आएगा। आम तौर पर यही कारण है कि यह पहली जगह में बंद हो जाता है। आपको इसे देखने के लिए दृश्य संकलन चालू करने की आवश्यकता है, जो सीधे आगे नहीं है।
विकासशील

1
मुझे अपने प्रोजेक्ट में खाली फाइल को भी शामिल करना था।
जेपी हेलिमन्स

78

मैं निम्नलिखित विधि का उपयोग करता हूं जो हर समय काम करता है:

  • Aspx / ascx फ़ाइल के संपादक में सभी कोड-इन-फ्रंट (html मार्कअप आदि) का चयन करें।
  • कट गया।
  • सहेजें।
  • पेस्ट करें।
  • सहेजें।

पुनः संकलित करें।


1
मुझे लगता है कि सिर्फ एक नियंत्रण को हटाना और इसे फिर से जोड़ना एक ही प्रभाव है।
क्रिस

मैंने ऐसा किया और यह मेरे लिए काम कर गया। हालांकि, मैं एक खाली बुलाया फ़ाइल बनाने के लिए किया था <name>.aspx.designer.vbकाम करने के लिए इसे पाने के लिए
ताहिर हसन

64

मैंने हाल ही में देखा कि मुझे भी यही समस्या हो रही थी। विजुअल स्टूडियो 2010 डिजाइनर फाइल को अपडेट करने से मना कर रहा था।

जैसा कि यह पता चला है, VS कोडबाइंड (DLL) के स्थान पर कोडफ़ाइल (पृष्ठों से दूर) का उपयोग करने वाले पृष्ठ के लिए डिज़ाइनर फ़ाइल को संशोधित नहीं करता है। यह सच है कि कितनी बार आप वीएस को बंद करते हैं, परियोजना को फिर से लोड करते हैं, नियंत्रण (एस) को फिर से बनाते हैं, या एक फाइल को संशोधित करते हैं। कुछ भी नहीं वीएस को डिजाइनर को फिर से बनाने के लिए प्रेरित करेगा। यह ऐसा है जैसे कि यह CodeFile पृष्ठों के लिए डिज़ाइनर फ़ाइल नहीं बनाता है, लेकिन इसे वहाँ होने की आवश्यकता है।

मैंने इसे CodeBehind में बदल दिया और पृष्ठ को सहेज लिया। डिजाइनर फ़ाइल तुरंत अपडेट की गई। फिर मैंने इसे वापस बदल दिया और सब कुछ अभी भी सुनहरा था। यह व्यवहार VS 2010 / .NET 4.0 के साथ नया प्रतीत होता है क्योंकि VS 2008 डिफ़ॉल्ट रूप से इससे ग्रस्त नहीं था।

यह इस भाग है:

<%@ Page Language="vb" AutoEventWireup="false" CodeFile="YourPage.aspx.vb" Inherits="YourPageClass" %>

CodeFile को CodeBehind में बदलें, सहेजें, और फिर वापस लाएं।


इस धागे को देर से। उपरोक्त वर्णित कोई भी उत्तर नियंत्रण को * .aspx.designer.cs में सूचीबद्ध करने के लिए बाध्य नहीं करता है। मैं उम्मीद कर रहा था कि यह होगा, लेकिन यह अभी भी नियंत्रणों को * .aspx.designer.cs फ़ाइल में घोषित करने के लिए मजबूर नहीं करता है। मैं वीएस 2010 प्रो SP1 का उपयोग कर रहा हूं। मैं इसे किसी भी डिफ़ॉल्ट फ़ाइल के साथ काम करने की कोशिश कर रहा हूं जो IDE ChangePassword.aspx जैसे / खाते में उत्पन्न करता है। धन्यवाद।
पापरुष

1
मेरा कोडफाइल में सेट हो गया था, मैं कोडबाइंड में बदल गया, बचाया गया, कोडफाइल में वापस आ गया, बचाया गया, सब कुछ गोल्डन है। सुधारों के पिछले प्रयासों ने मेरे लिए ऐसा नहीं किया। वीएस 2010 प्रो
डैन

37

एक और संभावना है: आपके पास .aspx फ़ाइल में कोई त्रुटि हो सकती है जो विज़ुअल स्टूडियो को डिज़ाइनर को पुन: उत्पन्न करने की अनुमति नहीं देती है।

यदि आप डिज़ाइन दृश्य पर स्विच करते हैं, तो यह नियंत्रण दिखाएगा कि इसका प्रतिपादन नहीं किया जा सकता है। नियंत्रण को ठीक करना (मेरे मामले में यह गुणों में एक अतिरिक्त उद्धरण था) और recompiling डिजाइनर को पुन: उत्पन्न करना चाहिए।


मुझे एक ही समस्या थी, उपयोगकर्ता नियंत्रण में त्रुटियां थीं इसलिए उपयोगकर्ता नियंत्रण में त्रुटियों के कारण उपयोगकर्ता नियंत्रण का उपयोग करने वाले पृष्ठों में असंबंधित त्रुटियां थीं।
रोनेन फेस्टिंगर

1
एक ही कारण मेरे पास एक असमर्थित विशेषता दिखाई दे रही है = "झूठी" एक एस्प बटन में जोड़ा गया। मैंने इसे हटा दिया और डिजाइनर कोड फिर से जेनरेट किया गया।
चिंगनोटिंग

21

यदि आप Visual Studio 2013 और संभवतः 2012 चला रहे हैं, तो यहां अधिकांश समाधान काम नहीं करते हैं। Microsoft ने शायद IDE स्नैपर बनाने के लिए कुछ अनुकूलन शुरू किए, फलस्वरूप उन्होंने कोड जनरेटर को ट्रिगर करने वाले मामलों की संख्या कम कर दी है। निम्नलिखित परिदृश्य जो अब काम नहीं करते थे:

  1. Aspx या ascx फ़ाइल को हटाएँ - अब इस मामले की जाँच नहीं होगी
  2. सभी सामग्री और काटें को aspx या ascx फ़ाइल में काटें - अब काम नहीं करता, संदर्भों में कोई बदलाव नहीं
  3. वेब एप्लिकेशन में कनवर्ट करें - विकल्प अब उपलब्ध नहीं है
  4. Aspx / ascx फ़ाइल पर मनमाने ढंग से सामग्री बदलना - अब काम नहीं करता (2 देखें)।

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

Ascx या aspx में नियंत्रण की ID को बदलते हैं

<asp:HyperLink ID="MyLink" runat="server" NavigateUrl="~/Default.aspx" Text="Home" />

सेवा

<asp:HyperLink ID="theLINK" runat="server" NavigateUrl="~/Default.aspx" CssClass="tab" Text="Home" />

Ascx.cs या aspx.cs पर जाएं और सुनिश्चित करें कि आपने "MyLink" के सभी संदर्भों का नाम बदलकर "LINK "कर दिया है। सहेजें और निर्माण करें और आपको जाने के लिए अच्छा होना चाहिए।


विज़ुअल स्टूडियो के नए संस्करण में बदलाव के बारे में बहुत अच्छी बात है। आईडी की उपरोक्त के साथ गड़बड़ी करने के बजाय मेरे लिए क्या काम किया गया था, डिजाइनर फाइल को मिटा रहा था, फिर एक ब्रांड नया, सौम्य नियंत्रण जैसे <asp: PlaceHolder ID = "Foo" runat = "server /> और फिर ट्रिगर करने के लिए सहेजना उत्थान। फिर भी अगर आप इसे दूर करना भूल जाते हैं, तो कुछ भी प्रभावित नहीं होता है।
जॉर्डन रेजर

8
3. यदि एक उपयुक्त फ़ाइल का चयन किया जाता है, तो 'प्रॉजेक्ट' मेनू में 'वेब एप्लीकेशन में कन्वर्ट' उपलब्ध कराया जाता है।
WynandB

2
हम्म। यदि यह पहले से ही एक वेब अनुप्रयोग है, तो दुर्भाग्य से, यह विकल्प उपलब्ध नहीं है।
ATL_DEV

एक त्वरित परिवर्तन Inherits = विशेषता के नाम स्थान भाग को संपादित करने के लिए है। यह .designer फ़ाइल में नाम स्थान को संपादित करना चाहिए और सभी सामग्रियों को पुन: उत्पन्न करना चाहिए। मैंने अभी VS2013.3 के साथ यह कोशिश की।
डेविड रसेल

नमस्ते, मैं सामान्य रूप से आपके द्वारा दिए गए तरीके के साथ प्रयास करता हूं लेकिन समस्या एक और उपयोगकर्ता है जो g.cs फ़ाइल उत्पन्न करने में सक्षम नहीं है, जबकि केवल व्यवस्थापक करने में सक्षम है। हम वीएफएस में कई डेवलपर्स यूजर आईडी का उपयोग करने के साथ टीएफएस का उपयोग कर रहे हैं, हम g.cs उत्पन्न करने में सक्षम हैं। सर्वर, TFS और SP पर g.cs उत्पन्न करने के लिए क्या अधिकार आवश्यक हैं?
नीरव

14

एकमात्र तरीका मुझे पता है कि डिजाइनर फ़ाइल को हटाना है, और एक वेब ऐप में कनवर्ट करना है। हालाँकि, जब आप ऐसा करते हैं, तो यह आमतौर पर त्रुटि के साथ पॉप अप होता है, क्योंकि यह पहले स्थान पर ऑटो-रीजन क्यों नहीं हुआ, इसका आमतौर पर एक नियंत्रण रेफरी है जो पृष्ठ के प्रमुख में घोषित नहीं किया गया है।


खेद है कि यह काम नहीं किया, इसका वीएस 2008 में मेरे लिए काम किया क्योंकि मैंने इसका उपयोग शुरू कर दिया था। क्या आपके पृष्ठ में एक सिंटैक्स त्रुटि है? आपको एक संवाद बॉक्स मिलना चाहिए जो आपको बताता है कि इसे काम करने के लिए क्या ठीक करना है।
विकसित करना

इसने मेरे लिए काम किया। कोड-पीछे वर्ग के पास एक int Idसंपत्ति थी जो सी # में ठीक संकलित थी क्योंकि यह मामला संवेदनशील है। लेकिन ID="ControlName"aspx पेज में करने की कोशिश कर रहा था Id = "ControlName"Convert to Web Appजैसे कुछ कहा ControlName cannot be converted to Int32
नेल्सन रॉदरमेल

9

वेब एप्लिकेशन में कनवर्ट करने से मेरे लिए काम नहीं किया गया।

डिज़ाइनर को हटाने और रिक्त डिजाइनर को चिपकाने से। या तो काम नहीं किया।

लेकिन हाँ यह काम किया:

  1. सभी का चयन करें (Default.aspx)
  2. कट गया
  3. डिफ़ॉल्ट सहेजें
  4. पेस्ट करें
  5. डिफ़ॉल्ट सहेजें

किया हुआ। नई डिजाइनर। :)


मैं पुष्टि कर सकता हूं कि यह VS2013 में काम करता है, मैंने अभी किया और इसने मेरी समस्याओं को हल किया।
toastyMallows

आप। की है। मिला है। सेवा। हो। मजाक। मुझे। यह मेरे लिए VS2015 में काम किया, जब चयनित उत्तर की तरह परिवर्तित नहीं किया।
ग्राहमएफ

6

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

यह भी याद रखें कि डिजाइनर फाइल में रिपीटर जैसी चीजों के अंदर नियंत्रण दिखाई नहीं देता है।

और हां, ऐसे मामले हैं जो आपको ऊपर सूचीबद्ध डिलीट-द-फाइल मैजिक करने की आवश्यकता है - लेकिन नाम-परिवर्तन समाधान ज्यादातर समय काम करेगा।


2
उस तरह की त्रुटि है जो मेरे पास कई बार है। यदि आप HTML को एक पृष्ठ से दूसरे पृष्ठ पर कॉपी करते हैं और रनैट = "सर्वर" के साथ नियंत्रण रखते हैं, तो संघर्ष से बचने के लिए नियंत्रण का नाम बदल दिया जाएगा। हालाँकि, अगर आप "html कमेंट" टैग्स के अंदर पेस्ट करते हैं <! - whaterver ->, नियंत्रण आईडी का परिवर्तन नहीं किया जाएगा, और कोई भी संघर्ष डिज़ाइनर फ़ाइल को पुन: उत्पन्न करने के लिए रोक देगा, क्योंकि एक ही आईडी के साथ दो नियंत्रण हैं। ऐसा इसलिए है क्योंकि html "टिप्पणियों" के अंदर टैग भी बनाए गए हैं। ;)
टॉमसोफेन

5

मेरा अनुभव यह है कि यदि आप इस लेख की तरह करना चाहते हैं , जैसा कि ऊपर कहा गया है।

आपकी मार्कअप फ़ाइल (aspx / ascx) को CodeBehind = "MyPage.aspx.cs" विशेषता को शामिल करना होगा या फिर यह काम नहीं करेगा। मैंने इसके बारे में यहां ब्लॉग किया है


फिर इस विशेषता को जोड़ा गया; कुछ भी तो नहीं। फिर इनहेरिट्स को हटा दिया गया, बचाया गया, बहाल किया गया और वॉयला कोड डिजाइनर फाइल को अपडेट किया गया! यह
विडंबनापूर्ण

दोनों लिंक मृत हैं = (
मास्लो

5

मैंने बिना किसी कोड को बदले या "वेब एप्लिकेशन में कनवर्ट" जैसे कमांड चलाने के बिना इस समस्या को हल करने का एक तरीका ढूंढ लिया है - और यह बहुत आसान है!

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

(जब आप फिर से शुरू करते हैं तो आप केवल एक स्थान जोड़ते हैं और इसे फिर से हटाते हैं और फिर डिजाइनर फाइल को ठीक से पुनर्जीवित करने के लिए सहेजते हैं)


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

4

(निम्नलिखित VS2005 के साथ अनुभव से आता है।)

यदि आप डीबग करते समय ASPX पृष्ठ को संपादित करते हैं, तो कोडबेहिंड नई कक्षाओं के साथ अद्यतन नहीं होता है। इसलिए, आपको डिबगिंग को रोकना होगा, ASPX पेज को संपादित करना होगा (जैसे कि एक बटन या कुछ जोड़ें), फिर डिज़ाइन व्यू पर क्लिक करें, फिर बटन को हटा दें। फिर, आपकी डिज़ाइनर फ़ाइलों को अपडेट किया जाना चाहिए।

यदि आप VS2008 के साथ एक अलग मुद्दा बना रहे हैं, तो मैं मदद नहीं कर सकता।


VS.Net 2010 के साथ इसमें भाग लिया ... बिल्कुल ऐसा ही करना पड़ा ... धन्यवाद @EndangeredMassa for the tip ... मैं वीएस.नेट 2002/2003 के दिनों में भी इसी से गुजरता था ... विश यू यह तब पता था;)
रिचर्ड बी।

4

जब आप डिज़ाइन दृश्य में हों, तो स्क्रीन पर राइट क्लिक करें और ताज़ा करें।


3

एक और बात जो काम की थी -

  1. मैन्युअल रूप से हटाएं और फिर फ़ाइल सिस्टम में एक डिज़ाइनर फ़ाइल बनाएँ।
  2. प्रोजेक्ट फ़ाइल संपादित करें
  3. डिज़ाइनर शामिल करने के लिए कोड जोड़ें
    :<Compile Include="<Path>\FileName.ascx.designer.cs"> <DependentUpon>FileName.ascx</DependentUpon> </Compile>
  4. रिलोड प्रोजेक्ट
  5. डिजाइन (दृश्य मोड) में (सी / पी) एक्स फ़ाइल के रूप में खोलें और इसे सहेजें।
  6. डिज़ाइनर फ़ाइल की जाँच करें। कोड होगा।

3

यदि आप VS2013 या बाद का उपयोग कर रहे हैं, तो सुनिश्चित करें कि कोड "CodeBehind" नहीं "CodeFile" के साथ संदर्भित है, तो नीचे दिए गए चरणों को करें

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="yourControl.ascx.cs" Inherits="yourControl.yourControl" %>
  • खाली डिज़ाइनर पेज बनाएँ (या इसे साफ़ करें यदि यह पहले से मौजूद है "yourControl.ascx.designer.cs")
  • ascx (या aspx) में सभी कोड कॉपी करें, इसे हटाएं, फिर सहेजें। इसे फिर से अतीत, फिर सहेजें।
  • डिज़ाइनर फ़ाइल अब पॉपुलेटेड होनी चाहिए।

2
  • डिज़ाइनर फ़ाइल में सभी का चयन करें और फ़ाइल में सब कुछ हटा दें, इसे खाली छोड़ दें और फिर सहेजें
  • ASPX / ASCX फ़ाइल में सभी का चयन करें और सब कुछ काट लें और फिर इसे वापस पेस्ट करें
  • डिजाइनर फ़ाइल को कोड को फिर से बनाना चाहिए

1
यह मेरे लिए काम किया! मैंने सब कुछ काटने के बाद .aspx फ़ाइल को भी सहेजा। पास्ट किया हुआ वापस, सहेजा गया, और मेरी (पहले रिक्त) डिज़ाइनर फ़ाइल पूरी तरह से आबाद थी।
डेव्ड

2

यहाँ वाट आई अनुभवी है, सॉल्यूशन एक्सप्लोरर में वेबसाइट फोल्डर राइट क्लिक पर सेलेक्ट करें, कन्वर्ट कन्वर्ट टू वेब एप्लिकेशन सभी एस्पक्स फाइल के लिए एक डिजाइनर फाइल जनरेट होगी।

समीर


2

बस यहाँ उत्तर की लंबी सूची में जोड़ने के लिए - मैं बस .2010 (SP1) में एक .aspx फ़ाइल के साथ इस समस्या में चला गया हूँ। मैंने मानक ASP नियंत्रणों को जोड़ने और हटाने की कोशिश की (जो अतीत में काम कर चुका है) लेकिन अंत में, मुझे एक मौजूदा नियंत्रण (और सेव) से एक रनैट = सर्वर लाइनों को हटाने के लिए डिजाइनर फाइल को फिर से तैयार करने के लिए मजबूर करना पड़ा ।


2

मैंने अभी वर्षों तक एक ही समस्या का सामना किया है, विजुअल स्टूडियो 2008 में काम कर रहा हूं। और मैंने स्टैकऑवरफ्लो और दर्जनों ब्लॉगों पर हर "समाधान" की कोशिश की है, जैसे मुझे यकीन है कि आप सभी को है। और कभी-कभी वे काम करते हैं, और कभी-कभी वे नहीं करते हैं, जैसे मुझे यकीन है कि आप सभी का सामना करना पड़ा है। और स्पष्ट रूप से यह अभी भी VS2010 और VS2012 में एक मुद्दा है।

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

यह एक स्टैंड-अलोन कमांड-लाइन टूल है, जो .aspx और .ascx फ़ाइलों को पार करता है, सभी आवश्यक परावर्तन जादू करता है, और सही .designer फ़ाइलों को बाहर निकालता है। यह सभी पार्सिंग करता है और मौजूदा कोड पर भरोसा करने से बचने के लिए खुद को प्रतिबिंब बनाता है, जिसे हम सभी अच्छी तरह जानते हैं। यह .NET 3.5 के विरुद्ध C # में लिखा गया है, लेकिन यह सिस्टम को भी उपयोग करने से बचने के लिए दर्द देता है। प्रकार की घोषणाओं के अलावा अन्य किसी भी चीज़ के लिए, और यह विज़ुअल स्टूडियो पर बिल्कुल भी उपयोग या भरोसा नहीं करता

Redesigner नई .designer फाइलें उत्पन्न कर सकता है; और यह एक --verbose विकल्प प्रदान करता है ताकि जब चीजें गलत हो जाएं, तो आपको "प्रकार System.Exception के अपवाद" की तुलना में कहीं बेहतर त्रुटि संदेश मिले। और आपके पास एक मौजूदा विकल्प है जिसका उपयोग आपको यह बताने के लिए किया जा सकता है कि आपकी मौजूदा .designer फाइलें कब टूटी हैं - लापता नियंत्रण, खराब संपत्ति घोषणाएं, विजुअल स्टूडियो द्वारा अपठनीय, या अन्यथा केवल सादे बोरक।

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

वैसे भी, अब Redesigner की एक प्रति डाउनलोड करें और अपने बालों को बाहर निकालना बंद करें । आपको हमेशा इसकी आवश्यकता नहीं होगी, लेकिन जब आप ऐसा करेंगे, तो आपको खुशी होगी कि आपके पास यह है!

https://sourceforge.net/projects/redesigner/


एक साधारण फिक्स के लिए ओवरकिल की तरह लगता है
क्रिस मैकग्राथ

1
@ChrisMcGrath शायद overkill है, लेकिन मैंने उस दर्द को महसूस किया है जिसने इस उपकरण को प्रेरित किया। मैं इसे बनाने के लिए अपने समर्पण की प्रशंसा करता हूं :)
जोर्डन रीगर

2

टी एल; डॉ; ASPX पृष्ठ के निर्देश और हिट सहेजें
की Inheritsविशेषता को संपादित @Pageकरें। आपकी डिजाइनर फाइल को फिर से बनाया जाना चाहिए।

सुनिश्चित करें कि Inherits= = <नामस्थान>। <class_name> और CodeBehind= <class_name> .aspx.cs


मैं वीएस 2010 और टीएफएस का उपयोग करते हुए एक शेयरपॉइंट 2010 प्रोजेक्ट पर ऐसा करने की कोशिश कर रहा था , और ऊपर दिए गए समाधानों में से कोई भी मेरे लिए काम नहीं करता था। मुख्य रूप से, विकल्प "वेब एप्लिकेशन में कनवर्ट करें" वीएस 2010 में टीएफएस का उपयोग करते समय .ASPX फ़ाइल के राइट-क्लिक मेनू से गायब है।

इस जवाब ने आखिरकार मदद की । मेरी कक्षा इस तरह दिखी:

namespace MyProjects.Finance.Pages
{
    public partial class FinanceSubmission : WebPartPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        // more code
    }
}

और मेरा @Pageनिर्देश था (स्पष्टता के लिए यहां लाइन-ब्रेक):

<%@ Page Language="C#" AutoEventWireup="true" 
    CodeBehind="FinanceSubmission.aspx.cs"
    Inherits="MyProjects.Finance.Pages.FinanceSubmission"
    MasterPageFile="~masterurl/default.master" %>

मैं पहली बार बदल Inheritsकरने के लिए MyProjects.Finance.Pages , सहेजें मारा, तो करने के लिए इसे वापस बदल MyProjects.Finance.Pages.FinanceSubmission और फिर सहेजें मारा। और वल्लाह! डिजाइनर पेज को फिर से बनाया गया!

आशा है कि यह किसी TFS का उपयोग करने में मदद करता है!


2

विजुअल स्टूडियो के भीतर:

1) अपनी aspx.designer.cs फ़ाइल निकालें

2) अपने aspx फ़ाइल पर राइट क्लिक करें और "वेब एप्लिकेशन में कनवर्ट करें" का चयन करें। इसमें aspx.designer.cs को वापस और अद्यतित करना चाहिए।

यदि आपको यह कहते हुए कोई त्रुटि मिलती है:

"डिजाइनर फ़ाइल का निर्माण विफल रहा: विधि या संचालन कार्यान्वित नहीं किया गया है।"

Visual Studio को बंद करने का प्रयास करें और फिर अपनी परियोजना को फिर से खोलें और फिर से नंबर दो पर जाएं

दृश्य स्टूडियो में aspx.designer.cs कैसे उत्पन्न करें?


2
"वेब अनुप्रयोग में कनवर्ट करें" एक aspx फ़ाइल के संदर्भ मेनू पर मौजूद नहीं है। कम से कम, यह वीएस प्रोफेशनल 2015 में नहीं है
क्रिस वॉल्श

2
  1. चरण 1 : अपने सभी aspx कोड का चयन करें, उस कोड को [CTRL + X] काटें और सहेजें।

  2. स्टेप 2 : फिर से उसी कोड को उसी पेज में पेस्ट करें और फिर से सेव करें

अब आपका .desinger पेज .aspx पेज के सभी नियंत्रणों के साथ ताज़ा हो जाएगा।


1

Designer.cs फ़ाइल हटाएं और फिर .aspx फ़ाइल पर राइट क्लिक करें और "वेब एप्लिकेशन में कनवर्ट करें" चुनें। यदि आपके नियंत्रण घोषणाओं के साथ कोई समस्या है, जैसे कि एक टैग अच्छी तरह से नहीं बनाया जा रहा है, तो आपको एक त्रुटि संदेश मिलेगा और दृश्य स्टूडियो को सफलतापूर्वक अपने डिजाइनर फ़ाइल को फिर से बनाने से पहले आपको विकृत टैग को ठीक करना होगा।

मेरे मामले में, इस बिंदु पर, मुझे पता चला कि समस्या यह थी कि मैंने एक बटन नियंत्रण घोषित किया था जो कि रनैट = "सर्वर" विशेषता के साथ एक फॉर्म टैग के अंदर नहीं था।


1

यह IDE में एक बग है; मैंने इसे वीएस 2003 के बाद से देखा है। यद्यपि समाधान सरल है।

अपनी फ़ाइलों को सहेजें। पूरी तरह से आईडीई से बाहर निकलें (सुनिश्चित करें कि प्रक्रिया बंद हो जाती है, कार्य mgr।)

समाधान को फिर से खोलें, मार्कअप को गंदा करें, बचाएं। फिक्स्ड।


1

मुझे दो समस्याएं थीं ... पुराना AJAXControlkit - पुराने dll को हटा दिया, टूलबॉक्स से पुराने नियंत्रण हटा दिए, नया संस्करण डाउनलोड किया, टूलबॉक्स लोड किया और पृष्ठ पर नए नियंत्रणों को खींचा और गिरा दिया (देखें http://www.experts-exchange.com /Programming/Languages/.NET/Visual_Studio_.NET_2005/Q_24591597.html )

मेरे लेबल नियंत्रण में गलत वर्तनी थी ('cssclass' के बजाय 'वर्ग' का उपयोग किया था)।

टा


1

मुझे समस्या थी कि मेरे नए नियंत्रणों को डिज़ाइन फ़ाइल में उत्पन्न नहीं किया जाएगा। समस्या यह थी कि मैंने उन्हें पीछे के कोड में भी घोषित किया। इसलिए मेरी समस्या हल करने के पीछे कोड में घोषणा को हटाना।


1

यदि आप मेरे जैसे हैं और आप पुराने .ASPX फ़ाइलों को एक और हालिया प्रोजेक्ट में जोड़ते हैं। आप शायद पृष्ठ पर उपयोग किए गए कुछ नियंत्रणों को भूल जाएंगे।

यदि हां, तो पहली बात, यदि आपके द्वारा इंस्टॉल की जा रही कई फाइलें हैं; पहले एक बार ठीक करें।

जब आप संकलित करते हैं, तो उत्पन्न त्रुटियों को ठीक करें। वे शायद सभी फाइलों में समान त्रुटियां होंगी।

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

अंत में अपने वेब प्रोजेक्ट पर राइट क्लिक करें और Convert to Web Application पर क्लिक करें। यह आपको आवश्यक डिज़ाइनर फ़ाइलों को सम्मिलित करेगा।

ये मुद्दों को ठीक करने के लिए सबसे अच्छे कदम हैं।


1

एक बात जिसका किसी ने उल्लेख नहीं किया है वह है पृष्ठ का दौरा करना । मेरे पास मेरी डिज़ाइनर फ़ाइल रीजनरेटिंग थी क्योंकि मैं एक ऐसे उपयोगकर्ता नियंत्रण को शामिल कर रहा था जो मौजूद नहीं था (विभिन्न कारणों से), और सुझाई गई किसी भी चीज़ ने काम नहीं किया। जो भी कारण के लिए, मुझे विजुअल स्टूडियो में कोई त्रुटि नहीं मिली - इसके अलावा इस तथ्य के बारे में शिकायत करने के लिए कि मेरे क्लाइंट-साइड नियंत्रण मौजूद नहीं थे, क्योंकि वे पुनर्जीवित नहीं हो रहे थे, निश्चित रूप से।

मुझे त्रुटि बताने के लिए ASP.Net प्राप्त करने के लिए वास्तव में पृष्ठ पर जाना पड़ा।


1

यह तब भी हो सकता है जब आप नेमस्पेस अपडेट करते हैं और डिजाइनर फाइल में नेमस्पेस अपडेट नहीं करते हैं। फिक्स: डिज़ाइनर फ़ाइल में नाम स्थान भी अपडेट करें।


1

मेरे लिए काम किया समाधान है:

मैंने केवल पृष्ठ की प्रतिलिपि बनाई है और इसे उसी भाग में चिपकाया है, फिर पहले पृष्ठ का नाम बदला (जो कभी नाम था) और प्रतिलिपि किए गए पृष्ठ को मूल पृष्ठ के रूप में बदल दिया। अब नियंत्रण सुलभ हैं।

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