Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在Visual Studio 2015中限制Visual Basic的新语言功能_Vb.net_Visual Studio_Visual Studio 2015 - Fatal编程技术网

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

Vb.net 在Visual Studio 2015中限制Visual Basic的新语言功能,vb.net,visual-studio,visual-studio-2015,Vb.net,Visual Studio,Visual Studio 2015,我目前正在与一个开发团队一起进行一个Visual Basic项目,其中一些开发团队在Visual Studio 2015发布后将能够立即迁移到Visual Studio 2015,还有一些开发团队将在Visual Studio 2013上停留数月。在使用RC进行测试时,我们发现VisualStudio将毫无问题地打开2013项目,但很乐意让用户使用VS 2013中用户无法使用的新语言功能,如字符串插值。如果2015年用户签入此代码,2013年用户将获得编译错误。是否有任何项目、解决方案或Visu

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

这个功能在C#的“项目属性>构建>语言版本”下可用,但我找不到VB.net的任何等效功能,谷歌搜索也让我失望


我只想指出,将.Net运行时版本设置为4.5没有帮助,因为这些新的语言功能是编译器级别的功能,在旧的框架上运行得非常好。

没有用于设置语言版本的UI功能,但您可以卸载项目文件并将
11
添加到2012/2013语言设置的默认Visual Basic中。C#项目将此属性添加到项目配置属性组下,因此为了一致性起见,我在下面的示例中也这样做了

C#属性页也做同样的事情,只是C#使用了不同的版本号

可以提供所有语言版本的完整集

刚刚测试过,这对我很有效,但我必须将外壳改为:

这导致:

还有一个不错的构建失败:


这是一种复制:我将尝试一下,希望它仍然适用于Roslyn。它似乎不适用于我,除非我将其添加到项目文件的错误部分。所有内容,包括字符串插值,仍在使用此选项集编译。Visual studio实际上在抱怨项目文件中的元素。我试着把它作为
的子对象添加到
中,并将其包装在
中。明白了!它实际上是区分大小写的(
11
),需要包装在Visual Studio 2015的实际发布版本中验证的
中。非常感谢。不是-我尝试添加它,但VS抱怨它是无效元素。
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)