के भीतर से एप्लिकेशन शुरू किया गया था, मैं एक ऐसे अनुप्रयोग पर काम कर रहा हूं जो सिस्टम वाइड कीबोर्ड हुक स्थापित करता है। जब मैं विजुअल स्टूडियो के अंदर से डीबग बिल्डिंग चला रहा हूं, तो मैं इस हुक को इंस्टॉल नहीं करना चाहता हूं (या फिर यह स्टूडियो और अंततः सिस्टम को लटकाएगा), और मैं यह जांचकर इससे बच सकता हूं कि DEBUG प्रतीक परिभाषित किया गया है या नहीं ।जांचें कि क्या विजुअल स्टूडियो
हालांकि, जब मैं आवेदन की रिहाई संस्करण डिबग, वहाँ पता लगाने के लिए कि यह एक ही समस्या से बचने के लिए दृश्य स्टूडियो के अंदर से शुरू कर दिया गया एक तरीका है? को स्टूडियो/कंप्यूटर को पुनरारंभ करना बहुत परेशान है, क्योंकि मैं रिलीज बिल्ड पर काम कर रहा था, और डीबग बिल्ड पर वापस स्विच करने के लिए भूल गए वाले डीबगर का उपयोग करके कुछ बग ठीक करना चाहता हूं।
वर्तमान में मैं इस स्थिति के लिए जाँच करने के लिए कुछ इस तरह का उपयोग करें:
System.Diagnostics.Process currentProcess = System.Diagnostics.Process.GetCurrentProcess();
string moduleName = currentProcess.MainModule.ModuleName;
bool launchedFromStudio = moduleName.Contains(".vshost");
मैं इस "जानवर बल रास्ता" है, जो मेरी सेटिंग में कार्य कर कहेंगे, लेकिन मैं जानना चाहूंगा लगा सकते हैं कि एक और (बेहतर) इस परिदृश्य का पता लगाने का तरीका।
नोट: मैं जब इस तकनीक की कोशिश कर रहा vstest.executionengine.x86.exe WebDev.WebServer20.exe दृश्य स्टूडियो परीक्षण से और आईआईएस एक्सप्रेस के तहत चल रहा कोड के माध्यम से शुरू करने निम्नलिखित तार मिला है। तो इसे पढ़ने वाले किसी भी व्यक्ति को तदनुसार कोड समायोजित करने की आवश्यकता हो सकती है। –