vb.net – 在Visual Studio 2015中限制Visual Basic的新语言功能

我目前正在与一个开发团队合作开发一个Visual Basic项目,其中一些项目将在发布后立即转移到Visual Studio 2015,而一些人将在Visual Studio 2013上停留几个月.在使用RC进行测试时,我们发现Visual Studio将毫无问题地打开2013项目,但很乐意让用户使用VS 2013中用户无法使用的新语言功能,例如字符串插值.如果2015用户签入此代码中的2013用户将收到编译错误.是否有任何项目,解决方案或Visual Studio设置会告诉编译器将功能限制为以前版本的VB.net中可用的功能?理想情况下,编译器在2015年尝试使用这些功能时应返回编译错误.

此项功能在项目属性>下的C#中可用.构建>语言版本,但我找不到VB.net的任何等价物,谷歌搜索失败了我.

我只是想提一下,将.Net运行时版本设置为4.5无济于事,因为这些新的语言功能是编译器级功能,可以在旧框架上完美运行.

没有用于设置语言版本的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)

刚刚测试过,这对我有用,但我确实需要将外壳改为:

这导致:

一个很好的构建失败:

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...