首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C# 8在.NET框架中的特性4.7.2

C# 8在.NET框架中的特性4.7.2
EN

Stack Overflow用户
提问于 2019-10-10 15:53:02
回答 1查看 14.2K关注 0票数 7

在一个针对c#框架4.7.2的.NET项目中,由于Visual (16.3.3)的建议,我使一个本地函数保持静态。一切都做得很好。但是,当我在安装了Visual Studio build Tools (16.3.3)的CI构建服务器上使用它时,它抱怨道:

错误CS8652:特性“静态本地函数”目前处于预览状态,不受支持。若要使用预览功能,请使用“预览”语言版本。

我能发现的是静态本地函数是C# 8特性,而C# 8不能用于针对.NET框架4.7.2的项目。那么,为什么它一开始就工作,我如何使它在构建服务器上编译呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-11 05:07:44

C# 8.0的一些特性在.NET框架中是可用的,但并不是所有的特性都可用。如果您可以在本地编译,您的构建服务器也应该能够编译。但是请注意: C# 8.0只在实现.NET标准2.1的框架中得到官方支持( .NET标准永远不会支持)。因此,虽然它可能有效,但也可能存在问题。

不要再使用LangVersion preview了。C# 8.0与VS2019 16.3一起发布。使用LangVersion latest (或latestMajor8.0)在默认情况下不支持它的项目中获得C# 8.0支持(参见C#语言版本化)。

为此,请确保csproj文件包含属性<LangVersion>latest</LangVersion>。为此,需要手动编辑csproj文件。更改语言版本的UI在VS2019 16.3中被禁用,因为每个目标框架现在正式只支持单一语言版本。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58326812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档