C#: Allow use of .NET 7

The editor will use .NET 7 if it is installed and fall back to .NET 6 otherwise.
Exported projects will use .NET 7 or .NET 6 depending on the value of TargetFramework in the csproj.
This commit is contained in:
RedworkDE 2023-01-21 21:51:12 +01:00
parent c3539b4561
commit 3f1241cb82
2 changed files with 4 additions and 3 deletions

View File

@ -8,6 +8,7 @@
<!-- To generate the .runtimeconfig.json file--> <!-- To generate the .runtimeconfig.json file-->
<EnableDynamicLoading>true</EnableDynamicLoading> <EnableDynamicLoading>true</EnableDynamicLoading>
<RollForward>LatestMajor</RollForward>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -104,7 +104,7 @@ namespace Godot.NativeInterop
} }
} }
[StructLayout(LayoutKind.Explicit)] [StructLayout(LayoutKind.Sequential, Pack = 8)]
// ReSharper disable once InconsistentNaming // ReSharper disable once InconsistentNaming
public ref struct godot_variant public ref struct godot_variant
{ {
@ -113,11 +113,11 @@ namespace Godot.NativeInterop
=> (godot_variant*)Unsafe.AsPointer(ref Unsafe.AsRef(in _typeField)); => (godot_variant*)Unsafe.AsPointer(ref Unsafe.AsRef(in _typeField));
// Variant.Type is generated as an enum of type long, so we can't use for the field as it must only take 32-bits. // Variant.Type is generated as an enum of type long, so we can't use for the field as it must only take 32-bits.
[FieldOffset(0)] private int _typeField; private int _typeField;
// There's padding here // There's padding here
[FieldOffset(8)] private godot_variant_data _data; private godot_variant_data _data;
[StructLayout(LayoutKind.Explicit)] [StructLayout(LayoutKind.Explicit)]
// ReSharper disable once InconsistentNaming // ReSharper disable once InconsistentNaming