首页 > 解决方案 > 是否可以在 .NET Framework 4.x 中使用带有 C# 9 记录的库

问题描述

有没有办法用记录创建库,然后在的.NET Framework 4.x 应用程序中使用它?

标签: .netc#-9.0

解决方案


是的,尽管这不受官方支持。

首先,您必须将 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 { } }

之后,您应该能够在您的图书馆中正常声明和使用记录。


推荐阅读