Browse Source
Root assemblies for SRE XAML loader (#18290)
* Root assemblies for SRE XAML loader
* Update XamlTestBase.cs
pull/18306/head
Maxwell Katz
12 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
9 additions and
9 deletions
-
src/Markup/Avalonia.Markup.Xaml.Loader/AvaloniaXamlIlRuntimeCompiler.cs
-
tests/Avalonia.Markup.Xaml.UnitTests/XamlTestBase.cs
|
|
|
@ -74,6 +74,15 @@ namespace Avalonia.Markup.Xaml.XamlIl |
|
|
|
[MemberNotNull(nameof(_ignoresAccessChecksFromAttribute))] |
|
|
|
static void InitializeSre() |
|
|
|
{ |
|
|
|
// SRE backend doesn't load assemblies, unless they are already in the memory.
|
|
|
|
// At the very least, we should make sure that assemblies necessary for `AvaloniaXamlIlWellKnownTypes` are loaded.
|
|
|
|
// Root `Avalonia.Controls`.
|
|
|
|
GC.KeepAlive(typeof(Avalonia.Controls.Control)); |
|
|
|
// Root `Avalonia.Markup`.
|
|
|
|
GC.KeepAlive(typeof(Avalonia.Data.Binding)); |
|
|
|
// Root `System.ObjectModel`
|
|
|
|
GC.KeepAlive(typeof(System.ComponentModel.TypeConverterAttribute)); |
|
|
|
|
|
|
|
if (_sreTypeSystem == null) |
|
|
|
_sreTypeSystem = new SreTypeSystem(); |
|
|
|
if (_sreBuilder == null) |
|
|
|
|
|
|
|
@ -10,15 +10,6 @@ using Avalonia.UnitTests; |
|
|
|
|
|
|
|
namespace Avalonia.Markup.Xaml.UnitTests |
|
|
|
{ |
|
|
|
static class XamlLoaderInit |
|
|
|
{ |
|
|
|
[ModuleInitializer] |
|
|
|
public static void Init() |
|
|
|
{ |
|
|
|
var _ = typeof(Binding); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public class XamlTestBase : ScopedTestBase |
|
|
|
{ |
|
|
|
public XamlTestBase() |
|
|
|
|