एकता में मेरा C # 6 कोड क्यों नहीं है?


9

एकता C # 6 कोड के साथ काम क्यों नहीं कर सकती है ? यह हमेशा मुझे संकलक त्रुटियाँ देता है। यहाँ कुछ कोड उदाहरण हैं:

using static System.Convert;
using static System.Environment;

$"€{punten}{NewLine}€{Money}{NewLine}€{KilledEnemies}{NewLine}€{bonus}{NewLine}€{total}";

मैं अपने कोड संपादक के रूप में विज़ुअल स्टूडियो का उपयोग करता हूं और बिना किसी त्रुटि के निर्माण करता हूं। अगर मैं एकता में खेलता हूं तो यह नहीं बनेगा।


के लिए खोज unity .net profile upgradeगूगल पर
Matth

जवाबों:


18

एकता मोनो रनटाइम के पुराने संस्करण का उपयोग करती है जो .NET3.5 पर आधारित है। यह सुविधाओं के मामले में C # 3 और 4 के बीच कुछ का उपयोग करता है।

मैं चारों ओर googling द्वारा यह पाया । यकीन नहीं होता कि यह काम करता है लेकिन जांच के लायक कुछ हो सकता है।


यह ध्यान देने योग्य है कि भविष्य में कुछ समय के लिए एक नए .NET प्रोफाइल को अपग्रेड करने की योजना है ( unity3d.com/unity/roadmap )। हालाँकि, रोडमैप में बताए गए पूर्वापेक्षाओं को देखते हुए, हम इसे 2016 के अंत में बहुत जल्द से जल्द
देखेंगे

7
इस उत्तर में लिंक दूर चला गया और अब एक 404 :(
ashes999

7
यही कारण है कि लोगों को एक सिनॉप्सिस प्रदान किए बिना स्टैकएक्सचेंज पर लिंक पोस्ट नहीं करना चाहिए।
फिलीपींस

प्रति ( forum.unity3d.com/threads/… ) यह उपकरण अब विकसित / समर्थित नहीं है। एक विकल्प है ( bitbucket.org/alexzzzz/unity-c-5.0-and-6.0-integration/src ), जो मैं व्यक्तिगत रूप से उपयोग करता हूं, हालांकि इसमें खामियां हैं (जैसे कि विज़ुअल स्टूडियो इसे भूल जाते हैं), या @BenAdams को जवाब दें नीचे, बेहतर समाचार के लिए।
खले_ किथा


4

YouTube पर यह वीडियो दर्शाता है कि कैसे कोई एकता बनाने के लिए C # 6 सिंटैक्स प्राप्त करने में सक्षम था, एक नई परियोजना बनाकर, लक्ष्य .Net फ्रेमवर्क को 3.5 में बदलकर, एकता प्रोजेक्ट एसेट्स फ़ोल्डर में बिल्ड और रिलीज़ आउटपुट निर्देशिकाओं को सेट करना और जोड़ना। UnityEngine dll का संदर्भ। डिबगिंग समान कार्य करने के लिए लगता है।


2

विजुअल स्टूडियो में कंपाइलर में एकता की तुलना में अधिक विशेषताएं होती हैं, जिसका अर्थ है कि कुछ कोड (विशेष रूप से नए c # फीचर्स) यूनिटी में त्रुटि देंगे, लेकिन विजुअल स्टूडियो में नहीं।

हालाँकि आप अपने टारगेट के ढांचे को बदल सकते हैं, जो कि आपके संपादक में उपयोग की जाने वाली चीज़ के सबसे करीब है। मैंने Xamarin में यूनिटी के लिए लाइब्रेरी विकसित करते समय ऐसा किया है, लेकिन ऐसा लगता है कि यह विजुअल स्टूडियो में भी संभव है।

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

https://msdn.microsoft.com/en-us/library/dn940020.aspx


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