【发布时间】:2016-04-18 17:19:52
【问题描述】:
我们正在编写一个必须在 Windows 7 上运行的应用程序......我们无法在这些客户端计算机上安装新版本的 .NET 框架。作为开发者,我想使用所有花哨的 C# 6.0 语言新特性,如果我理解正确的话,语言和框架已经解耦了。
我只需要澄清一下:如果我在我的应用程序中以 C# 6.0 为目标,代码是否仍能在以 .NET 4.0 作为最高框架版本的 Win7 客户端上正常运行?
【问题讨论】:
我们正在编写一个必须在 Windows 7 上运行的应用程序......我们无法在这些客户端计算机上安装新版本的 .NET 框架。作为开发者,我想使用所有花哨的 C# 6.0 语言新特性,如果我理解正确的话,语言和框架已经解耦了。
我只需要澄清一下:如果我在我的应用程序中以 C# 6.0 为目标,代码是否仍能在以 .NET 4.0 作为最高框架版本的 Win7 客户端上正常运行?
【问题讨论】:
是的,您可以在针对旧版本的 .NET 时使用 C# 6 编译器。这通常的工作方式是您拥有较新版本的 Visual Studio 并将其定位到特定的 .NET 版本。对于 C# 6,this means VS2015。您将能够使用任何新的 C# 功能,只要它们不依赖于 .NET 库。在特殊情况下,比如如果你想使用async 的东西,有backward compatibility libraries 可用。
You could also直接使用csc.exe(C#编译器),绕过Visual Studio。
【讨论】:
FormattableString 的字符串插值的相当模糊的情况(使用string 的字符串插值应该可以工作)。