针对 .NET Framework 3.5 编译的项目允许 C# 4.0 功能

Posted

技术标签:

【中文标题】针对 .NET Framework 3.5 编译的项目允许 C# 4.0 功能【英文标题】:Project compiled against .NET Framework 3.5 allows C# 4.0 features 【发布时间】:2011-04-30 10:44:53 【问题描述】:

我目前正在处理一个目标为 .NET Framework 3.5 的项目。我正在使用 Visual Studio 2010;但是我的同事使用 Visual Studio 2008。我能够使用 C# 4.0 功能,例如可选函数参数,但如果他们尝试使用相同的目标构建相同的代码,他们就无法使用。我的理解是,即使我使用的是 Visual Studio 2010,我也无法使用 .NET 4.0 功能,因为目标是 .NET 3.5。

【问题讨论】:

【参考方案1】:

默认情况下,多目标框架仅限制会导致与 CLR(而非源代码)兼容性问题的功能集。因此命名和可选是合法的,因为在 2.0 或 3.5 CLR 上使用它没有问题。

如果您想将一组 C# 功能限制为在 3.5 编译器上合法的功能,您需要更改语言版本选项。

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

【讨论】:

以上是关于针对 .NET Framework 3.5 编译的项目允许 C# 4.0 功能的主要内容,如果未能解决你的问题,请参考以下文章

.Net Framework 4.0 安装程序是不是包含 .Net Framework 3.5?

为啥我的 .net 项目针对 .net framework 3.5 的 System.dll 版本是 2.x?

如何在 VS2010 中使用 asp.net 重新配置和编译网站到 Framework 3.5?

.Net Framework 3.5 和 .Net Framework 3.5 SP1 有相同的版本号吗?

自己用U盘装的win10系统,装CAD2012提示要.net framework 3.5 ,直接安装提示失败,估计不是正版的原因。

将 C# .net 4 代码编译为 .net 3.5?