我有一个针对旧版本 .NET 框架 (.NET 4.5.2) 的项目。我安装了 Visual Studio 2015(因此我的计算机上安装了 .NET 4.6)。我注意到,如果我使用 .NET 4.6/C# 6 中发布的 C# 语言功能,它仍然可以编译。如果我的项目的目标框架是
public string MyExpressionBodyProperty => "1";
//auto properties are new in C# 6
public string MyAutoProperty { get; } = "1";
private static void MethodThatUsesNameOf(string filename)
{
if (filename == null)
{
//nameof was released in C# 6
throw new ArgumentException("The file does not exist.", nameof(filename));
}
}
如何确保我只使用与我的目标框架版本兼容的 .NET 语言功能?
.NET Framework 版本和 C# 语言版本是不同的。 C# 6 语言功能
public string MyAutoProperty { get; } = "1";
nameof(filename)
可以由 VS 2015 编译成针对早期框架的代码。
如何确保我只使用与我的目标框架版本兼容的 .NET 语言功能?
如果您尝试使用 .NET 4.6 Framework 功能,并且您的目标是较早的框架,则会收到相应的编译器错误。
我可以将此代码部署到没有 .NET 4.6 的计算机吗?
是的,你会的。只要部署机器具有与您在 VS2015 中定位的框架兼容的框架即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)