Vb.net Visual Basic 9(或C#3)与Visual Studio 2010
我正在从事一个从VB9(VS2008)开始的项目,现在我已经迁移到VS2010(VB10),但在生产服务器上,IDE仍然是VS2008。在我的开发环境中,代码可以很好地编译,但有时,-比方说,-我忘记了行末尾的一个u,这会导致VB9编译器抛出错误Vb.net Visual Basic 9(或C#3)与Visual Studio 2010,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我正在从事一个从VB9(VS2008)开始的项目,现在我已经迁移到VS2010(VB10),但在生产服务器上,IDE仍然是VS2008。在我的开发环境中,代码可以很好地编译,但有时,-比方说,-我忘记了行末尾的一个u,这会导致VB9编译器抛出错误 所以问题是,我如何用VS 2010 IDE而不是VB9编译器构建一个项目?或者强制VB10编译器进入VB9模式?不幸的是,没有办法做到这一点。在VisualStudio中编译时,实际上并没有使用命令行编译器。相反,您使用inproc托管的编译器(对于V
所以问题是,我如何用VS 2010 IDE而不是VB9编译器构建一个项目?或者强制VB10编译器进入VB9模式?不幸的是,没有办法做到这一点。在VisualStudio中编译时,实际上并没有使用命令行编译器。相反,您使用inproc托管的编译器(对于VB.Net和C#都是如此)。这个编译器虽然能够为目标平台输出完全有效的IL,但它是与VisualStudio绑定的版本(在本例中为10.0) 没有通用的方法可以使用不同版本的编译器或命令行来获取所需的行为 不过,您可以将编译器的语言版本设置为9。这将对VB9中不支持的解析级构造的子集发出警告。这不能从IDE中完成,但可以通过直接编辑项目文件并插入以下命令来完成
<PropertyGroup>
<LangVersion>9</LangVersion>
</PropertyGroup>
9
原始答案:适用于目标3.5,但不适用于此问题
您要做的是让您的VB项目以3.5框架为目标。这将导致编译器对无效的项发出警告,如\uu
这可以从“项目属性”页面完成
- 在项目上单击鼠标右键,然后选择“属性”
- 转到编译选项卡
- 将目标设定为3.5