Beschränken Sie neue Sprachfunktionen von Visual Basic in Visual Studio 2015

8

Ich arbeite zur Zeit an einem Visual Basic-Projekt mit einem Team von Entwicklern, von denen einige nach der Veröffentlichung zu Visual Studio 2015 wechseln können und einige, die für mehrere in Visual Studio 2013 stecken bleiben werden Monate. Beim Testen mit dem RC haben wir festgestellt, dass Visual Studio 2013 Projekte problemlos öffnen wird, aber Benutzer neue Sprachfeatures wie die Stringinterpolation verwenden können, die für Benutzer in VS 2013 nicht verfügbar sind. Wenn ein Benutzer 2015 eincheckt Dieser Code die 2013 Benutzer werden Kompilierungsfehler bekommen. Gibt es eine Projekt-, Lösungs- oder Visual Studio-Einstellung, die den Compiler anweist, Funktionen auf das zu beschränken, was in der vorherigen Version von VB.net verfügbar ist? Im Idealfall sollte der Compiler einen Kompilierfehler zurückgeben, wenn er versucht, diese Funktionen im Jahr 2015 zu verwenden.

Diese Funktionen sind in C # unter Projekteigenschaften & gt; Bauen & gt; Sprachversion, aber ich kann keine Entsprechung für VB.net finden, und die Google-Suche versagt mich.

Ich wollte nur erwähnen, dass das Einstellen der .NET-Laufzeitversion auf 4.5 nicht hilft, da diese neuen Sprachfunktionen Compiler-Funktionen sind, die auf älteren Frameworks einwandfrei funktionieren.

    
Bradley Uffner 16.07.2015, 13:00
quelle

1 Antwort

9

Es gibt keine UI-Funktion zum Festlegen der Sprachversion, aber Sie können die Projektdatei entfernen und <LangVersion>11</LangVersion> zum Standard-Visual Basic für die Spracheinstellungen 2012/2013 hinzufügen. Das C # -Projekt fügt diese Eigenschaft unter den Eigenschaftsgruppen der Projektkonfiguration hinzu. Aus Gründen der Konsistenz habe ich das im folgenden Beispiel durchgeführt.

Die C # -Eigenschaftsseiten machen dasselbe, außer dass C # einen anderen Satz Versionsnummern verwendet.

Ein vollständiger Satz aller Sprachversionen kann hier gefunden werden .

%Vor%

Gerade getestet und das funktioniert für mich, aber ich musste das Gehäuse zu:

ändern

Dies führt zu:

Und ein schöner Build-Fehler:

    
jessehouwing 16.07.2015, 13:36
quelle