我目前正在与一个开发团队合作开发一个Visual Basic项目,其中一些项目将在发布后立即转移到Visual Studio 2015,而一些人将在Visual Studio 2013上停留几个月.在使用RC进行测试时,我们发现Visual Studio将毫无问题地打开2013项目,但很乐意让用户使用VS 2013中用户无法使用的新语言功能,例如字符串插值.如果2015用户签入此代码中的2013用户将收到编译错误.是否有任何项目,解决方案或Visual Studio设置会告诉编译器将功能限制为以前版本的VB.net中可用的功能?理想情况下,编译器在2015年尝试使用这些功能时应返回编译错误.
没有用于设置语言版本的UI功能,但您可以卸载项目文件并添加< LangVersion> 11< / LangVersion>将Visual Basic默认为2012/2013语言设置. C#项目在Project Configuration属性组下添加了这个属性,所以为了保持一致性,我在下面的示例中做了同样的事情.
C#属性页执行相同的操作,但C#使用不同的版本号集.
所有语言版本的完整集合可以是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)
刚刚测试过,这对我有用,但我确实需要将外壳改为:
这导致:
一个很好的构建失败: