क्या C # इंटरैक्टिव विंडो मेरे कोड के साथ इंटरैक्ट कर सकती है?


161

विजुअल स्टूडियो 2015 या बाद में, मैं 'C # इंटरएक्टिव विंडो' खोल सकता हूं, और कोड चला सकता हूं:

> 5 + 3
8

वह प्यारा है। अब मैं अपना कोड कैसे कर सकता / सकती हूं- मेरी कक्षाएं? मान लें कि मेरा एक प्रोजेक्ट खुला है।

> new Cog()
(1,5): error CS0246: The type or namespace name 'Cog' could not be found (are you missing a using directive or an assembly reference?)

रोसलिन इंटरैक्टिव विंडो नहीं है। यह .NET कंपाइलर एपीआई है। क्या आप सुनिश्चित हैं कि चीजों को याद नहीं कर रहे हैं?
बाघिन


मैं हमेशा इसके लिए मानक तत्काल विंडो का उपयोग करता हूं - अपने स्वयं के प्रकारों के साथ भी काम करता है।
पॉलीफुन

2
'मानक तत्काल खिड़की' क्या है?
कर्नल पैनिक

@MattHickford अधिक जानकारी के लिए मेरा अपडेटेड उत्तर देखें
आलसी

जवाबों:


221

विजुअल स्टूडियो 2015 का उपयोग करते समय:

आप दृश्य> अन्य Windows> C # इंटरएक्टिव पर नेविगेट करके इंटरएक्टिव विंडो खोल सकते हैं ,

फिर बस अपनी परियोजना पर क्लिक करें और संदर्भ मेनू से परियोजना के साथ इंटरएक्टिव इंटरएक्टिव चलाएं ।


पुराने संस्करणों के लिए:

अपने कोड के साथ C # इंटरएक्टिव विंडो का उपयोग करने के लिए, सुनिश्चित करें कि आप पहले अपना कोड संकलित करते हैं, फिर परिणाम के साथ असेंबली के संदर्भ को इस #rतरह जोड़ें:

C # कमांड प्रॉम्प्ट


आप अपने कोड के साथ बातचीत करने के लिए तत्काल विंडो का उपयोग भी कर सकते हैं , जैसे:

तत्काल खिड़की


1
धन्यवाद। मुझे C # इंटरैक्टिव विंडो बेहतर लगती है। तत्काल खिड़की अमित्र है, कोई स्वत: पूर्ण नहीं है। Console.WriteLine("hey") The name 'Console' does not exist in the current context System.Console.WriteLine("hey") Expression has been evaluated and has no value
कर्नल पैनिक

-1 सवाल नए सी # आरईपीएल (इंटरैक्टिव विंडो) का उपयोग करने के बारे में है जो रसलिन का हिस्सा है। डॉन सिमी के सी 9 वीडियो पर एक नजर डालें जहां वह विकसित होने के साथ एफ # इंटरएक्टिव विंडो का उपयोग करता है। अच्छी चीज़। channel9.msdn.com/Series/…
जॉन ढोम

25
@ जॉनडोम क्यों डाउनवोट? मेरा उत्तर पूरी तरह से दिखाता है कि C # इंटरैक्टिव विंडो के माध्यम से अपने स्वयं के कोड के साथ बातचीत कैसे करें (यहां तक ​​कि यह दिखाने वाला स्क्रीनशॉट भी है)।
जूथ

8
.Net कोर परियोजनाओं में, संदर्भ मेनू आइटम दिखाई नहीं देता है, इसलिए #r विधि की आवश्यकता है। यह जवाब उसके लिए एकदम सही है।
रयान

2
मैं एक और उपयोगी संकेत जोड़ना चाहता हूं: यदि आप कुछ रन-टाइम चीजों का उपयोग करना चाहते हैं, तो आप आसानी से इस निर्देश को जोड़ सकते हैं:#r "System.Runtime"
mostafa8026

70

आप अपने स्वयं के प्रोजेक्ट से कक्षाओं का उपयोग कर सकते हैं।
बस अपने समाधान पर राइट क्लिक करें और "प्रोजेक्ट से रीसेट रीसेट करें" चुनें।

यदि आपको अधिक जानकारी की आवश्यकता है, तो यहां स्रोत है:
रो # के साथ आने वाले C # इंटरएक्टिव विंडो का उपयोग करना - भाग 2


1
धन्यवाद, यह सही लगता है। काश, यह वर्णित के रूप में काम नहीं करता है - जो भी परियोजना मैं उस पर कोशिश करता हूं, वह 'अवैध असेंबली नाम' कहकर एक त्रुटि चेतावनी को पॉप अप करता है। निराशा की बात है, यह नहीं समझाता है कि यह किस विधानसभा की बात कर रहा है। मुझे लगता है कि सॉफ्टवेयर टूट गया है।
कर्नल पैनिक

@MattHickford: प्रोजेक्ट किस प्रकार का प्रोजेक्ट है? हमने सरल कंसोलप्लेक्शंस और क्लास लाइब्रेरी से परे बहुत परीक्षण नहीं किया है।
केविन पायलट

केविन पूछने के लिए धन्यवाद। मैंने अभी कुछ छोटी परियोजनाओं पर 'प्रोजेक्ट से इंटरैक्टिव रीसेट' की कोशिश की है, यह सही काम किया है। यह परियोजनाएँ जो मज़बूती से काम नहीं करती हैं, वे कई संदर्भों के साथ अधिक जटिल पुस्तकालय और अनुप्रयोग हैं।
कर्नल पैनिक

25
इसमें से कोई भी वीएस 2015 पर लागू नहीं होता है। संदर्भ मेनू आदेश चला गया है और #rमेरी परियोजना असेंबलियों को नहीं ढूंढता है। कोई विचार?
योग

18
वीएस 2015 अपडेट 3 में, समाधान में (समाधान एक्सप्लोरर में) किसी प्रोजेक्ट पर राइट क्लिक करने पर 'प्रोजेक्ट के साथ इनिशियल इंटरएक्टिव' होता है।
आंद्रेई पाना

44

बस @ बॉटज़ ३००० उत्तर से एक अपडेट।

आप जिस कमांड को ढूंढना चाहते हैं, उसे अब "प्रोजेक्ट के साथ इंटरएक्टिव इंटरएक्टिव" कहा जाता है

यहां छवि विवरण दर्ज करें

इसके अलावा यह ध्यान देने योग्य है कि मैं इस कमांड को नहीं पा सकता था यदि मेरी सी # इंटरैक्टिव विंडो देखने योग्य नहीं थी।


11
नहीं यह नहीं। मैंने इसे ठीक उसी स्थान पर प्राप्त किया है, जब स्क्रीनशॉट इंगित करता है।
टॉम

3
@ ऐसा लगता है कि आप किस प्रकार के प्रोजेक्ट पर काम कर रहे हैं, उसके आधार पर यह कार्य करता है या नहीं। जब आप इसे ढूंढ रहे थे तो आप किस प्रकार का प्रोजेक्ट काम कर रहे थे?
ल्यूक हैमर

@ छिपकली हमर का मानना ​​है कि कक्षा पुस्तकालय
टॉम

10
मैं नेटस्टैंडर्ड लाइब्रेरी के साथ काम करने के लिए इसे प्राप्त करने की कोशिश कर रहा हूं और विकल्प संदर्भ मेनू में नहीं है
चाडट

15

यह ध्यान देने योग्य है कि नेट कोर प्रोजेक्ट के लिए वीएस 2019 में अभी तक सुविधा का समर्थन नहीं किया गया है।

आपको विकल्प नहीं मिलेगा, और यह एक ज्ञात समस्या है जैसा कि इस उत्तर में प्रकाशित किया गया है ' ' प्रोजेक्ट के साथ प्रारंभिक इंटरैक्टिव "दृश्य स्टूडियो 2019 में .Net कोर प्रोजेक्ट्स के लिए अनुपलब्ध है। "

वर्कअराउंड का उपयोग #r कमांड (#r "Path / MyDll.dll") के लिए असेंबली को मैन्युअल रूप से लोड करने के लिए होता है जैसा कि ऊपर दिए गए उत्तर में देखा गया है।


11

पूरी तरह से सहमत हैं "परियोजना के साथ प्रारंभिक इंटरैक्टिव" शांत है।

मेरे दृष्टिकोण एक पुस्तकालय और उपयोग में धक्का वर्गों के लिए है // css_reference सी # स्क्रिप्ट या में #R सी # इंटरएक्टिव विंडो में

उदाहरण के लिए:

#r "D:\\dev\\DbHMonData\\LoadH2Stats\\bin\\Debug\\DbHMonStats.dll"
using DbHMonStats;
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.