# Using Records in .NET Framework
Records require .NET 5+ due to an empty class defined in `System.Runtime.CompilerServices` which is used by the compiler. If you simply include it everything works as expected.
```csharp
namespace System.Runtime.CompilerServices;
internal sealed class RequiredMemberAttribute : Attribute { }
public sealed class CompilerFeatureRequiredAttribute : Attribute
{
public CompilerFeatureRequiredAttribute(string featureName)
{
FeatureName = featureName;
}
public string FeatureName { get; }
public bool IsOptional { get; init; }
public const string RefStructs = nameof(RefStructs);
public const string RequiredMembers = nameof(RequiredMembers);
}
public static class IsExternalInit { }
```
This is a solution for
`The predefined type 'System.Runtime.CompilerServices.IsExternalInit' must be defined or imported in order to declare init-only setter` and
`[CS0656] Missing compiler required member 'System.Runtime.CompilerServices.CompilerFeatureRequiredAttribute..ctor` errors.