2010-10-25 80 views
8

我目前有一个项目,我正在研究.NET Framework 3.5的目标。我正在使用Visual Studio 2010;但是我的同事使用Visual Studio 2008.我能够使用C#4.0功能,例如可选的函数参数,但是如果他们尝试使用相同的目标构建相同的代码,他们将无法执行此操作。这是我的理解,即使我使用Visual Studio 2010,我将无法使用.NET 4.0功能,因为目标是.NET 3.5。针对.NET Framework 3.5编译的项目允许C#4.0功能

回答

14

默认情况下,多目标定位框架仅限制可能导致与CLR(非源代码)存在兼容性问题的一组功能。因此named和optional是合法的,因为在2.0或3.5 CLR上没有问题。

如果您想要将C#功能集合限制为3.5编译器的那些合法功能,则需要更改语言版本选项。

  • 右键单击项目并选择属性
  • 转到建立标签
  • 单击高级按钮
  • 切换语言版本组合为 “C#3.0”

alt text

相关问题