Ich habe ein komplexes Projekt, das .Net 4.0 verwendet. (das Zielframework ist .Net 4).C# 7.0 Sprachfunktionen kompilieren Fehler auf .Net 4.x
Ich verwende Visual Studio 2017, die Quelle zu kompilieren, und verwenden den folgenden Code:
if(int.TryParse(inputText, out int x))
StartAnotherMethod(x);
Es successfuly auf meinem Computer zusammengestellt, damit ich für den Build-Server verpflichtet.
Überraschenderweise hatte es Kompilierungsfehler.
Fehler CS1525: Ungültige Ausdruck Begriff 'int'
Fehler CS1003: Syntaxfehler, '' erwartet
Ich habe es in einem Online-Compiler. Es verwendet .Net 4.5 und zeigt auch Kompilierungsfehler.
https://dotnetfiddle.net/pibxC2
Übersetzungsfehler (Zeile 9, Spalte 32): Ungültiger Ausdruck Begriff 'int'
Übersetzungsfehler (Zeile 9, Spalte 33); erwartete
Übersetzungsfehler (Zeile 9, Spalte 33): Ungültiger Ausdruck Begriff ')'
Übersetzungsfehler (Zeile 9, Spalte 34); erwartete
Übersetzungsfehler (Zeile 9, Spalte 34): Ungültiger Ausdruck Begriff ')'
Übersetzungsfehler (Zeile 9, Spalte 35); erwartet
Wie ich gelesen habe,Sprachfunktionen keine neuen Rahmenbedingungen erfordern, so sollte es ohne Probleme kompilieren.
Was habe ich vermisst?
Sie sind der Compiler zu Roslyn nicht einen Compiler für C# 7. Ändern verwenden. – Amy
Welcher Compiler wird von Ihrem Build-Server verwendet? Sie benötigen den Compiler von VisualStudio 2017, um Ihr Projekt zu kompilieren. – Tomtom
Welchen Compiler verwendet der Build-Server? Diese Funktionen hängen von der Version des Compilers ab, nicht von der Version des Frameworks. – juharr