Dlaczego Unity nie może współpracować z kodem C # 6 ? Zawsze daje mi to błędy kompilatora. Oto kilka przykładów kodu:
using static System.Convert;
using static System.Environment;
$"€{punten}{NewLine}€{Money}{NewLine}€{KilledEnemies}{NewLine}€{bonus}{NewLine}€{total}";
Używam Visual Studio jako edytora kodu i buduję bez błędów. Jeśli naciśniesz przycisk Graj w Unity, nie zbuduje się.
unity .net profile upgrade
w GoogleOdpowiedzi:
Unity używa starej wersji środowiska wykonawczego Mono opartego na .NET3.5. Wykorzystuje coś między C # 3 a 4 pod względem funkcji.
Znalazłem to , szukając w Google. Nie jestem pewien, czy to działa, ale może być czymś wartym zbadania.
źródło
Unity Technologies ogłosiło, że Unity aktualizuje się do wersji 4.6+. Jest już dostępny w fazie testów beta.
źródło
Ten film na YouTube pokazuje, jak ktoś był w stanie uzyskać składnię C # 6 działającą na Unity, tworząc nowy projekt, zmieniając docelowy .Net Framework z powrotem na 3.5, ustawiając katalogi wyjściowe kompilacji i wydania w folderze zasobów projektu Unity i dodając odwołanie do dll UnityEngine. Debugowanie wydaje się działać tak samo.
źródło
Kompilator w Visual Studio ma więcej funkcji niż kompilator w Unity, co oznacza, że niektóre kody (zwłaszcza nowsze funkcje c #) powodują błąd w Unity, ale nie w Visual Studio.
Możesz jednak zmienić docelową strukturę, aby pasowała do tej, która jest najbliższa temu, co Unity używa w twoim edytorze. Zrobiłem to w Xamarin podczas tworzenia bibliotek dla Unity, ale wygląda na to, że jest to również możliwe w Visual Studio.
https://msdn.microsoft.com/en-us/library/dn940020.aspx
źródło