6

简单的部分:

使用下拉菜单在 Visual Studio 2010 项目中定位 .NET 2.0 框架。

困难的部分:

是否可以针对特定的语法版本 - 例如var s = "hello world"在 VS2008 及更高版本中是有效的语法糖,但在 VS2005 中无法编译。可以将 VS2010 配置为在编译时标记这个吗?

4

3 回答 3

9

这可以通过在项目设置中指定语言版本来完成。要将语言版本设置为 C# 2.0,请执行以下操作

  • 右键单击项目并选择“属性”
  • 转到“构建”选项卡
  • 点击“高级”按钮
  • 将“语言版本”下拉菜单更改为“ISO-2”

在此处输入图像描述

以下是 Visual Studio 2010 中的其他选项及其含义。

  • ISO-1:C# 1.0 / Visual Studio RTM 和 2003
  • ISO-2:C# 2.0 / Visual Studio 2005
  • C# 3.0:C# 3.0 / Visual Studio 2008
  • 默认:C# 4.0 / Visual Studio 2010
于 2011-02-14T16:51:35.153 回答
8

是的。在 IDE 中,设置:

Project Properties -> Build -> Advanced -> Language Version : ISO-2
于 2011-02-14T16:50:58.083 回答
2

是的,您可以这样做,正如其他人所说的那样 - 但它不是 C# 1 编译器的完美模拟,正如我在做演示时发现的那样。它会发现语法上的“大”变化,但不会发现行为上的一些细微变化。例如,在 C# 1 中没有方法组转换,所以你不能这样做:

delegate void Foo(string x);
void Bar(string y) {}
...
Foo foo = Bar;

...但只是将 C# 4 编译器设置为以 C# 1 为目标并不能解决这个问题。

于 2011-02-14T16:55:32.887 回答