I'm currently working on a Visual Basic project with a team of developers, some of which will be able to move to Visual Studio 2015 as soon as it is released, and some who will be stuck on Visual Studio 2013 for several months. In testing with the RC we have found that Visual Studio will open 2013 projects without a problem, but will happily let users use new language features, such as string interpolation, that are not available for users in VS 2013. If a 2015 user checks in this code the 2013 users will get compile errors. Is there any project, solution, or Visual Studio setting that will tell the compiler to restrict features to what is available in the previous version of VB.net? Ideally the compiler should return a compile error when trying to use these features in 2015.
This features is available in C# under Project Properties > Build > Language Version, but I can't find any equivalent for VB.net, and the google searches are failing me.
I just wanted to mention that setting the .Net runtime version to 4.5 doesn't help, as these new language features are compiler level features that work perfectly fine on older frameworks.
Right click on the respective project. Click on "Bulid" tab once you get the below screen and next, click the "Advanced" button. Once you click on the Advanced button, you will see the below screen. Here, select the required version and then click OK.
Visual Basic was succeeded in 2002 by Visual Basic . NET, a vastly different language based on C#, a language with similarities to C++.
There is no UI feature to set the Language version, but you can unload the project file and add <LangVersion>11</LangVersion>
to default Visual Basic to the 2012/2013 language settings. The C# project adds this property under the Project Configuration property groups, so for consistency's sake I've done the same in the sample below.
The C# property pages do the same thing, except that C# uses a different set of version numbers.
A full set of all the language versions can be found here.
2002 (VB 7.0)
2003 (VB 7.1)
2005 (VB 8.0)
2008 (VB 9.0)
2010 (VB 10.0)
2012 (VB 11.0)
2015 (VB 14)
Just tested and this works for me, but I did have to change the casing to:
This results in:
And a nice build failure:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With