Mengapa Unity tidak dapat bekerja dengan kode C # 6 ? Itu selalu memberi saya kesalahan kompiler. Berikut ini beberapa contoh kode:
using static System.Convert;
using static System.Environment;
$"€{punten}{NewLine}€{Money}{NewLine}€{KilledEnemies}{NewLine}€{bonus}{NewLine}€{total}";
Saya menggunakan Visual Studio sebagai editor kode saya dan membangun tanpa kesalahan. Jika saya menekan play di Unity itu tidak akan dibangun.
unity .net profile upgrade
di GoogleJawaban:
Unity menggunakan versi lama runtime Mono yang didasarkan pada .NET3.5. Ini menggunakan sesuatu antara C # 3 dan 4 dalam hal fitur.
Saya menemukan ini dengan googling. Tidak yakin apakah itu berhasil tetapi mungkin sesuatu yang layak diselidiki.
sumber
Unity Technologies telah mengumumkan bahwa Unity meningkatkan ke 4.6+. Ini tersedia melalui pengujian beta sekarang.
sumber
Video ini di YouTube menunjukkan bagaimana seseorang bisa mendapatkan sintaks C # 6 bekerja di Unity dengan membuat proyek baru, mengubah target .Net Framework kembali menjadi 3,5, mengatur build dan merilis direktori output ke folder aset proyek Unity, dan menambahkan referensi ke dll UnityEngine. Debugging tampaknya berfungsi sama.
sumber
Compiler di Visual Studio memiliki lebih banyak fitur daripada compiler di Unity yang berarti bahwa beberapa kode (terutama fitur c # yang lebih baru) akan memberikan kesalahan dalam Unity, tetapi tidak di Visual Studio.
Namun Anda dapat mengubah kerangka target Anda untuk mencocokkan yang paling dekat dengan apa yang digunakan Unity di editor Anda. Saya telah melakukan ini di Xamarin ketika mengembangkan perpustakaan untuk Unity, tetapi sepertinya itu mungkin di Visual Studio juga.
https://msdn.microsoft.com/en-us/library/dn940020.aspx
sumber