使用Visual Studio 2010的Visual Basic 9(或C#3)

jar*_*ics 4 vb.net visual-studio-2010

我正在开发一个以VB9(VS 2008)开始的项目,现在我已经迁移到VS2010(VB10),但是在生产服务器上,IDE仍然是VS 2008.在我的开发环境中,代码编译得很好,但有时, - 让我们说 - 我在行的末尾忘了一个_,导致VB9编译器抛出错误.

所以问题是,我如何用VS 2010 IDE而不是VB9编译器构建项目?或者强制VB10编译器进入VB9模式?

Jar*_*Par 9

不幸的是,没有办法实现这一目标.在Visual Studio中进行编译时,实际上并未使用命令行编译器.而是使用inproc托管编译器(对于VB.Net和C#都是如此).这个编译器虽然能够为目标明确的平台输出完全有效的IL,但它是与Visual Studio绑定的版本(在本例中为10.0).

没有通用的方法来编译不同版本的编译器或命令行,并获得您正在寻找的行为.

您可以做的是将编译器的语言版本设置为9.这将针对VB9中不支持的解析级别构造的子集发出警告.这不能通过IDE完成,但可以直接编辑项目文件并插入以下内容

 <PropertyGroup> 
    <LangVersion>9</LangVersion> 
  </PropertyGroup> 
Run Code Online (Sandbox Code Playgroud)

原始答案:适用于定位3.5但不是此问题

你想要做的是让你的VB项目以3.5框架为目标.这将导致编译器对无效的项目发出警告_.

这可以从项目属性页面完成.

  • 右键单击项目并选择属性
  • 转到编译选项卡
  • 将目标设置为3.5