我想在 .NET Standard 2.1 项目内的接口中创建静态抽象成员。我读到的所有内容都表明这只需要 C#11。我在项目文件中设置了
LangVersion
标签,但收到错误:
CS8919 目标运行时不支持接口中的静态抽象成员。
我知道有些功能需要额外的步骤。有我可以添加的包或其他我可以做的事情吗?
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<LangVersion>11.0</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
public interface ITest
{
static abstract int GetInt();
}
.Net Standard 2.1 从 3.0 开始应该与 .Net/.Net Core 兼容。因此,您无法使用仅适用于最新版本的框架的最新 C# 功能:.Net Standard 2.1
您必须使用支持 C# 11 的 .Net Framework 或使用旧版本的 C#