Visual Basic 9(或C# 3)与Visual Studio 2010相关。

4
我正在处理一个在VB9(VS 2008)开始的项目,现在我已经迁移到了VS2010(VB10),但是在生产服务器上,IDE仍然是VS 2008。在我的开发环境中,代码编译正常,但有时候,比如说,我忘记在行末添加_,这会导致VB9编译器抛出错误。
那么问题是,我怎样才能使用VS 2010 IDE但使用VB9编译器?或者强制VB10编译器进入VB9模式?

5
生产服务器上的IDE仍然是VS 2008 - 到底为什么要在生产服务器上安装IDE呢? - TomTom
不知道,我不是项目经理,我只是一名开发人员。这是一个网络应用程序。 - jaraics
5
@Jean-Bernard Pellerin,那是一个相当糟糕的建议。 - STW
1
请问您所说的“build server”是指“构建服务器”,而“IDE”是指“构建引擎”吗?如果您真的在生产服务器上使用Visual Studio编译代码,那么,我不知道该怎么办... - STW
1个回答

9
很遗憾,没有办法实现这个。在Visual Studio中编译时,实际上并没有使用命令行编译器,而是使用了inproc托管的编译器(对VB.Net和C#都是如此)。这个编译器虽然能够为下级平台输出完全有效的IL代码,但它是与Visual Studio(在本例中为10.0)绑定的版本。
没有通用的方法可以外壳到不同版本的编译器或命令行,并获得您要查找的行为。
不过,您可以将编译器的语言版本设置为9。这将针对一些VB9不支持的解析级别结构发出警告。虽然无法从IDE中完成此操作,但可以通过直接编辑项目文件并插入以下内容来完成:
 <PropertyGroup> 
    <LangVersion>9</LangVersion> 
  </PropertyGroup> 

原回答:适用于3.5版本,但不适用于此问题。
你想要做的是将你的VB项目定位到3.5框架。这会使编译器发出有关无效项目(如“_”)的警告。
这可以从项目属性页面完成。
  • 右键单击项目并选择属性
  • 转到编译选项卡
  • 将目标设置为3.5

感谢您的完整回复,我已将目标框架设置为3.5,但不幸的是它并没有解决我的问题。 - jaraics
@jaraics,抱歉我在打第一个答案时没有想清楚。已更新。 - JaredPar
太棒了,它可以工作了!谢谢! 附言:那个<PropertyGroup>标签应该插入在Project元素之后。 - jaraics

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接