विज़ुअल स्टूडियो होस्टिंग प्रक्रिया का उद्देश्य क्या है?


165

Visual Studio का उपयोग करके किसी प्रोग्राम को डीबग करते समय आपको विकल्प दिया जाता है Enable the Visual Studio hosting process। इस विकल्प का उद्देश्य क्या है और इसका क्या प्रभाव पड़ता है?


88
इस सवाल पर यकीन करना मुश्किल था, "असली सवाल नहीं"! होस्टिंग प्रक्रिया काफी वास्तविक है, यह जानना कि यह क्या करता है किसी भी .NET प्रोग्रामर के लिए महत्वपूर्ण है। जैसा कि Visual Studio सेटिंग पेज में कोई रहस्यमय विकल्प है जिसे प्राप्त करना आसान है। आइए, हम फिर से खोले गए लोगों को देखते हैं।
हंस पसंत

जवाबों:


85

MSDN लाइब्रेरी "होस्टिंग प्रक्रिया" पर बहुत अच्छी जानकारी नहीं देती है। एरिक के लिंक में सूचीबद्ध अंतिम दो विशेषताएं वास्तव में फीचर से प्रेरित समस्याएं हैं। एक और ऐसा तरीका है जिसे आप जल्द या बाद में चलाने के लिए बाध्य हैं: यह एक अलग app.config फ़ाइल का उपयोग करता है। सक्रिय एक का नाम yourapp.vshost.exe.config है। जब आप फ़ाइल में मैन्युअल परिवर्तन करते हैं तो इसके लिए बाहर देखें।

एक अन्य विशेषता यह है कि जब आप अपने ऐप को डिबग करते हैं तो यह बहुत ही दृश्यमान होता है, लेकिन इसमें कहीं भी उल्लेख नहीं किया गया है कि Console.Write () द्वारा उत्पादित आउटपुट का क्या होता है। एक गैर-कंसोल मोड ऐप में, यह IDE के आउटपुट विंडो पर रीडायरेक्ट हो जाता है। बहुत उपयोगी।

शब्द "होस्टिंग" सीएलआर की एक विशेषता को संदर्भित करता है, इसे "होस्ट" किया जा सकता है। कस्टम CLR होस्ट के उदाहरण SQL सर्वर और ASP.NET हैं। होस्टिंग शुरू होने से पहले सीएलआर को कॉन्फ़िगर करने की अनुमति देता है। इसका एक प्राथमिक उपयोग प्राथमिक AppDomain को कॉन्फ़िगर करना और कस्टम सुरक्षा नीतियों को स्थापित करना है। जो बिल्कुल होस्टिंग प्रक्रिया कर रहा है।

कस्टम CLR होस्ट का एक अच्छा उदाहरण इस प्रश्न में उपलब्ध है ।

लंबी कहानी छोटी: डीबग मोड में आप सीएलआर के एक अनुकूलित संस्करण के साथ चल रहे हैं, एक जो डीबगिंग अनुभव को बेहतर बनाता है।


4
मुझे हर नए प्रोजेक्ट पर इस सुविधा को अक्षम करने की आदत है। जब मैं C ++ / CLI WinForms डिज़ाइनर के साथ काम कर रहा हूं, तो मैं अजीब समस्याओं में भाग गया हूं, जो इस सुविधा के साथ अक्षम नहीं थे।
सर्फ

यह प्रासंगिक होने की बहुत संभावना नहीं है, सी ++ आईडीई एक होस्टिंग प्रक्रिया का उपयोग नहीं करता है और न ही इसका उपयोग डिजाइन मोड में किया जाता है।
हंस पसंत

2
इसके अलावा, Microsoft वेब साइट पर ( msdn.microsoft.com/en-us/library/ms242202.aspx ) यह बताता है कि यह आंशिक ट्रस्ट डीबगिंग (कोई सुराग नहीं है कि क्या है), और डिज़ाइन समय अभिव्यक्ति का मूल्यांकन सक्षम करता है, जिसका मैं अक्सर उपयोग करता हूं तत्काल विंडो में अभिव्यक्ति का मूल्यांकन करने के लिए। हालाँकि, होस्टिंग के अपने मुद्दे हैं जैसा कि उल्लेख किया गया है।
जे इमरान

5
होस्टिंग प्रक्रिया DLLs को लोड रखने के लिए जाती है, जिसे मैं विज़ुअल स्टूडियो की एक और रनिंग कॉपी से लिखना चाहता हूं। होस्टिंग प्रक्रिया को मारना, या यहां तक ​​कि आक्रामक वी.एस. को बाहर निकालना और फिर से शुरू करना, मदद नहीं करता है, क्योंकि नई शुरू की गई होस्टिंग प्रक्रिया फिर से DLP को लोड करती है। यही कारण है कि मैं आमतौर पर इसे अक्षम करता हूं।
gpvos

मैं देख रहा हूँ कि Console.WriteLineलॉग्स आउटपुट विंडो में प्रिंट हो जाते हैं, तब भी जब मैं Enable the Visual Studio hosting processविंडो फॉर्म प्रोजेक्ट की प्रॉपर्टीज विंडो से ऑप्शन को डिसेबल करता हूं । यकीन नहीं है कि क्यों।
RBT

17

से MSDN :

विज़ुअल स्टूडियो होस्टिंग प्रक्रिया डिबगर प्रदर्शन में सुधार करती है और नए डिबगर सुविधाओं को सक्षम करती है, जैसे कि आंशिक-ट्रस्ट डीबगिंग और डिज़ाइन-टाइम अभिव्यक्ति मूल्यांकन


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