2010-12-17 18 views
7

मैं वीएस 2010 और आईआईएस 5 के साथ एक एक्सपी (एसपी 3) मशीन पर विकास कर रहा हूं।debugattach.aspx क्या है और सर्वर इसे क्यों नहीं ढूंढ सकता?

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

मेरी समस्या यह है कि, जब मैंने विजुअल स्टूडियो 2010 में नए संस्करण को डीबग करने के लिए F5 दबाया, तो मुझे "वेब सर्वर पर डिबगिंग शुरू करने में असमर्थ" प्राप्त हुआ। वेब सर्वर अनुरोधित संसाधन नहीं ढूंढ सका। " मैंने कल का बेहतर हिस्सा यह पता लगाने की कोशिश की कि वह किस संसाधन को ढूंढ रहा था, जिसे वह नहीं मिला। यह कभी भी "एप्लिकेशन स्टार्ट" तक पहुंचने से पहले होता है। मैंने अंततः वेब लॉग में देखने का विचार किया, और पाया कि जब भी मैं F5 कुंजी दबाता हूं, तो वेब लॉग 404 (नहीं मिला) के रिटर्न कोड के साथ /debugattach.aspx के लिए एक DEBUG अनुरोध दिखाता है। यदि मैं पुराने संस्करण पर एक ही अनुक्रम चलाता हूं, तो यह वही बात दिखाता है, लेकिन पहले 401 कोड के साथ, और फिर अनुरोध 200 कोड के साथ दोहराया गया।

मेरा पहला विचार यह था कि वीएस को "debugattach.aspx" फ़ाइल लिखना होगा, और उसके बाद इसे आमंत्रित करना होगा, और शायद इसकी निर्देशिका में लेखन अनुमति नहीं है, लेकिन, जहां तक ​​मैं कह सकता हूं, यह कर देता है।

मैंने debugattach.aspx को गुगल किया है, और लौटाए गए लेखों के पहले कई पेज लॉकअप और टाइमआउट का उल्लेख करते हैं, ज्यादातर आईआईएस 7 और वीएस 2005 पर। इस स्थिति पर कुछ भी लागू नहीं होता है।

देख रहे पुराने संस्करण के बीच क्या भिन्न है और नया संस्करण जो नहीं करता है, केवल वर्चुअल निर्देशिकाओं का आईआईएस सेटअप और कोड पर web.config है। लेकिन मैं दोनों तरफ से दोनों साइटों पर चला गया हूं, और इस व्यवहार के लिए जिम्मेदार कोई अंतर नहीं मिल सकता है।

क्या किसी के पास कोई सुराग है जो वे मेरे साथ साझा कर सकते हैं? या क्या कोई मुझे किसी भी दस्तावेज पर इंगित कर सकता है कि वास्तव में debugattach.aspx क्या है/करता है, और एक DEBUG HTTP अनुरोध क्या करता है, और/या वीएस उनका उपयोग कैसे करता है?

अग्रिम धन्यवाद।

+0

कृपया उपेक्षा करें। मुझे समाधान मिला। मुझे समझ में नहीं आया, लेकिन मुझे यह काम करने के लिए मिला। मैं एक बार फिर वापस गया और दोनों साइटों के आईआईएस गुणों की तरफ से तुलना की, और एक अंतर खोजा। एप्लिकेशन एक्सटेंशन मैपिंग में, जहां मैंने एक वाइल्ड कार्ड मैपिंग के रूप में aspnet_isapi.dll जोड़ा था ताकि विस्तारित यूआरएल एमवीसी मैपिंग के माध्यम से चलाया जा सके, "स्क्रिप्टिंग इंजन" चेक बॉक्स उस साइट पर चेक किया गया था जो काम नहीं कर रहा था, और चेक नहीं किया गया था उस साइट पर था। मैंने इसे हटा दिया, और फिर कोशिश की, और डीबगिंग शुरू हुई। –

+0

हालांकि यह एक पुरानी पोस्ट है, फिर भी आप अपना उत्तर पोस्ट करने के लिए क्रेडिट प्राप्त कर सकते हैं =) – killthrush

उत्तर

-1

अपने वेब.कॉन्फिग में <compilation debug="true"> जोड़ें।

+0

स्लाक्स, मैं प्रतिक्रिया की सराहना करता हूं, लेकिन इस परियोजना के पहले दिन से डीबग सत्य पर सेट हो गया है। –

0

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

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

0

मुझे लगता है कि यह पैदा कर रहा था aspnet_isapi.dll की .NET 4 संस्करण के लिए एक वाइल्डकार्ड स्क्रिप्ट नक्शा था। मैं DEBUG क्रिया को अनदेखा करने के लिए स्क्रिप्ट मैपिंग को बदलने में सक्षम था (केवल मेरे ऐप के लिए आवश्यक क्रियाओं का उपयोग करके) और जिसने वीएस को स्वचालित रूप से संलग्न करने में सक्षम बनाया।

यह कहकर, मैंने अपनी साइट को एक्सपी मशीन पर काम करने के लिए वीएस विकास वेब सर्वर या आईआईएस एक्सप्रेस का उपयोग करके समाप्त कर दिया, क्योंकि आईआईएस 5.1 को वाइल्डकार्ड स्क्रिप्ट मैप और एएसपी.नेट रूटिंग के कॉम्बो पसंद नहीं आया ।

3

this old posting पर आधारित, DebugAttach.aspx HTTP हैंडलर सिस्टम.Web.HttpDebugHandler द्वारा कार्यान्वित किया गया है। हालांकि मैं वास्तव में आईआईएस 7 में कहीं भी इस हैंडलर को संदर्भित नहीं करता था - यह संभव है कि यह कार्यान्वयन सड़क के नीचे किसी अन्य हैंडलर में विलय हो गया। निश्चित रूप से कुछ प्रकार के हैंडलर हालांकि। जब यह काम कर रहा है, तो आप लॉग में 200 (सफलता) संदेश देखते हैं।

मुझे यह समस्या 2 अलग-अलग तरीकों से थी, जहां डीबीयू 2010 में एफ 5 डीबगिंग विफल रही क्योंकि डीबग हैंडलर तक पहुंचने में समस्या थी। आईआईएस असफल अनुरोध ट्रेसिंग लॉग का उपयोग करके, मैं ऐसे उदाहरण देख सकता था जहां आईआईएस मॉड्यूल हस्तक्षेप कर रहे थे। एक बार मामले में, UrlScan.dll DEBUG क्रिया को अवरुद्ध कर रहा था। दूसरे में, HTTP से HTTPS तक रीडायरेक्ट डीबग हैंडलर को 302 लौटने का कारण बन रहा था। दोनों मामलों में, वीएस ने इसी तरह के संवाद के साथ बाधा डाली।

किसी भी दर पर, यह चाल यह पता लग रही है कि इस URL को DEBUG अनुरोध अवरुद्ध कैसे किया जा सकता है।

+2

विजुअल स्टूडियो यहां DebugAttach.aspx से संबंधित त्रुटियों को लॉग करेगा:% UserProfile% \ AppData \ Local \ Temp \ Visual Studio Web Debugger.log (यदि आपके पास वह फ़ाइल नहीं है - या यदि यह पुरानी फ़ाइल है - तो आपका मुद्दा शायद DebugAttach.aspx से संबंधित नहीं है।) –

0

यदि आप वीएस -2010 या बाद में चल रहे हैं, और .Net 4.x या बाद में स्थापित किया है, तो "v3.0" उपनिर्देशिका का नाम बदलने का प्रयास करें (उदाहरण के लिए "नाम बदलें C: \ Windows \ Microsoft.Net \ Framework \ v3। 0 v3.0.ORIGINAL "), अपनी मशीन रीबूट करें, और विजुअल स्टूडियो में फिर से डिबगिंग करने का प्रयास करें।

यह मेरे लिए एक खूनी आकर्षण की तरह काम कर रहा है, लेकिन आप किस प्रकार के विकास कर रहे हैं इसके आधार पर आपका लाभ भिन्न हो सकता है।

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

0

मेरे लिए काम करने वाला समाधान VStudio को व्यवस्थापक मोड के रूप में चलाने में पुनरारंभ करना था।

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