Begin with DisableRuntimeMarshalling support + fix macOS Metal AOT (#17116)

* Add attribute

* Replace `SetLastError = true` with `Marshal.GetLastSystemError()`

* Make Avalonia.Base and Avalonia.Skia compatible with DisableRuntimeMarshalling

* First step in Android DisableRuntimeMarshalling support

* Make Avalonia.Browser compatible

* Set EnableRuntimeMarshalling=true on all projects we are not yet ready to support without runtime marshalling
This commit is contained in:
Max Katz
2024-09-25 03:48:25 -07:00
committed by GitHub
parent f36cb541f0
commit d7040e22d5
15 changed files with 51 additions and 30 deletions
+6
View File
@@ -19,4 +19,10 @@
<WarningsAsErrors Condition="'$(IsAotCompatible)' == 'true'">$(WarningsAsErrors);IL3050;IL3051;IL3052;IL3053;IL3054;IL3055;IL3056</WarningsAsErrors>
</PropertyGroup>
<PropertyGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0')) AND '$(EnableRuntimeMarshalling)' != 'true'">
<WarningsAsErrors>$(WarningsAsErrors);CA1420;CA1421</WarningsAsErrors>
</PropertyGroup>
<ItemGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0')) AND '$(EnableRuntimeMarshalling)' != 'true'">
<AssemblyAttribute Include="System.Runtime.CompilerServices.DisableRuntimeMarshallingAttribute" />
</ItemGroup>
</Project>