Warum kann Unity nicht mit C # 6- Code arbeiten? Es gibt mir immer Compilerfehler. Hier sind einige Codebeispiele:
using static System.Convert;
using static System.Environment;
$"€{punten}{NewLine}€{Money}{NewLine}€{KilledEnemies}{NewLine}€{bonus}{NewLine}€{total}";
Ich verwende Visual Studio als Code-Editor und erstelle fehlerfrei. Wenn ich in Unity auf Play drücke, wird es nicht erstellt.
unity .net profile upgrade
auf GoogleAntworten:
Unity verwendet eine alte Version der Mono-Laufzeit, die auf .NET3.5 basiert. Es verwendet etwas zwischen C # 3 und 4 in Bezug auf Funktionen.
Ich fand das, indem ich herum googelte. Ich bin mir nicht sicher, ob es funktioniert, aber es könnte sich lohnen, es zu untersuchen.
quelle
Unity Technologies hat angekündigt, dass Unity auf 4.6+ aktualisiert wird. Es ist jetzt durch Beta-Tests verfügbar.
quelle
Dieses Video auf YouTube zeigt, wie jemand die C # 6-Syntax in Unity zum Laufen bringen konnte, indem er ein neues Projekt erstellte, das Ziel-.Net Framework auf 3.5 zurücksetzte, die Ausgabeverzeichnisse zum Erstellen und Freigeben in den Unity-Projektassetsordner legte und a hinzufügte Verweis auf die UnityEngine-DLL. Das Debuggen scheint genauso zu funktionieren.
quelle
Der Compiler in Visual Studio verfügt über mehr Funktionen als der Compiler in Unity. Dies bedeutet, dass einige Codes (insbesondere neuere c # -Funktionen) in Unity einen Fehler verursachen, in Visual Studio jedoch nicht.
Sie können Ihr Zielframework jedoch so ändern, dass es dem entspricht, das Unity in Ihrem Editor am nächsten kommt. Ich habe dies in Xamarin getan, als ich Bibliotheken für Unity entwickelt habe, aber es sieht so aus, als ob es auch in Visual Studio möglich ist.
https://msdn.microsoft.com/en-us/library/dn940020.aspx
quelle