在Visual Studio 2015中,可以选择编码哪种版本的C#语言,如图所示 这里。
我正在为VB.NET寻找相同的选项 - 我如何限制旧的VB.NET版本的语法等?
我想这样做,以便我在与我共享的项目中意外停止使用VB 14功能 的Visual Studio 2012。我宁愿不通过Visual Studio 2012安装向我的机器发送垃圾邮件,也不必为相当偶然的要求创建新的VM。
注意:我不想更改目标.NET Framework版本。
在Visual Studio 2015中,可以选择编码哪种版本的C#语言,如图所示 这里。
我正在为VB.NET寻找相同的选项 - 我如何限制旧的VB.NET版本的语法等?
我想这样做,以便我在与我共享的项目中意外停止使用VB 14功能 的Visual Studio 2012。我宁愿不通过Visual Studio 2012安装向我的机器发送垃圾邮件,也不必为相当偶然的要求创建新的VM。
注意:我不想更改目标.NET Framework版本。
VB.NET编译器有 / langversion 选项。 MSBuild也支持。但是不是IDE,这使得改变它变得尴尬。
仍然可以,你必须编辑.vbproj文件。使用文本编辑器,记事本会这样做。并复制/粘贴此代码段,将其插入第4行,以便它对所有配置和平台都有效:
<PropertyGroup>
<LangVersion>12</LangVersion>
</PropertyGroup>
并仔细检查它是否有效:
Module Module1
Sub Main()
Dim test As String
Console.WriteLine(NameOf(test))
End Sub
End Module
输出:
error BC36716: Visual Basic 12.0 does not support 'nameof' expressions.
嗯,这有效,也被IntelliSense标记为红色波浪线。您可能想要创建自己的项目模板,因此您不必一次又一次地执行此操作。使用文件>导出模板。
VB.NET编译器有 / langversion 选项。 MSBuild也支持。但是不是IDE,这使得改变它变得尴尬。
仍然可以,你必须编辑.vbproj文件。使用文本编辑器,记事本会这样做。并复制/粘贴此代码段,将其插入第4行,以便它对所有配置和平台都有效:
<PropertyGroup>
<LangVersion>12</LangVersion>
</PropertyGroup>
并仔细检查它是否有效:
Module Module1
Sub Main()
Dim test As String
Console.WriteLine(NameOf(test))
End Sub
End Module
输出:
error BC36716: Visual Basic 12.0 does not support 'nameof' expressions.
嗯,这有效,也被IntelliSense标记为红色波浪线。您可能想要创建自己的项目模板,因此您不必一次又一次地执行此操作。使用文件>导出模板。
如果你正在使用 ReSharper的 事实证明这是一个选择:
我没有测试过它的效果如何。
使用VB时我不认为这是可能的。
看到这个相关的连接错误: 连接:即使web.config将VB 8指定为编译器,VB 14编译器也会删除行继续