【问题标题】:Is is possible to use library with C# 9 Records in .NET Framework 4.x是否可以在 .NET Framework 4.x 中使用带有 C# 9 记录的库
【发布时间】:2021-01-11 07:58:39
【问题描述】:

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

【问题讨论】:

    标签: .net c#-9.0


    【解决方案1】:

    是的,虽然这不是官方支持的。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多