.net - 是否可以在 .NET Framework 4.x 中使用带有 C# 9 记录的库
问题描述
有没有办法用记录创建库,然后在旧的.NET Framework 4.x 应用程序中使用它?
解决方案
是的,尽管这不受官方支持。
首先,您必须将 LangVersion 设置为 9,您可以通过手动编辑 csproj 来做到这一点,例如
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<LangVersion>9.0</LangVersion>
</PropertyGroup>
</Project>
然后,您必须将以下文件添加到您的库中:
namespace System.Runtime.CompilerServices { internal class IsExternalInit { } }
之后,您应该能够在您的图书馆中正常声明和使用记录。