From 5a9d9a61f1417029a1e5f0867fd0f841a417244d Mon Sep 17 00:00:00 2001 From: Nice3point Date: Tue, 17 Sep 2024 02:18:45 +0300 Subject: [PATCH] Load context support for net core --- source/RevitLookup/Models/ModuleInfo.cs | 10 +++++----- .../RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs | 10 ++++++++-- source/RevitLookup/Views/Dialogs/ModulesDialog.xaml | 8 ++++---- source/RevitLookup/Views/Dialogs/ModulesDialog.xaml.cs | 6 ++++++ 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/source/RevitLookup/Models/ModuleInfo.cs b/source/RevitLookup/Models/ModuleInfo.cs index c57c2c3d..2abae7f6 100644 --- a/source/RevitLookup/Models/ModuleInfo.cs +++ b/source/RevitLookup/Models/ModuleInfo.cs @@ -22,9 +22,9 @@ namespace RevitLookup.Models; public sealed class ModuleInfo { - public required string Name { get; set; } - public required string Path { get; set; } - public required int Order { get; set; } - public required string Version { get; set; } - public required string Domain { get; set; } + public required string Name { get; init; } + public required string Path { get; init; } + public required int Order { get; init; } + public required string Version { get; init; } + public required string Container { get; init; } } \ No newline at end of file diff --git a/source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs b/source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs index 2ac84ca3..39af53c9 100644 --- a/source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs +++ b/source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs @@ -18,6 +18,9 @@ // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) // (Rights in Technical Data and Computer Software), as applicable. +#if NETCOREAPP +using System.Runtime.Loader; +#endif using RevitLookup.Models; namespace RevitLookup.ViewModels.Dialogs; @@ -35,7 +38,6 @@ public ModulesViewModel() private void Initialize() { - var domain = AppDomain.CurrentDomain; var assemblies = AppDomain.CurrentDomain.GetAssemblies(); Modules = new List(assemblies.Length); @@ -49,7 +51,11 @@ private void Initialize() Path = assembly.IsDynamic ? string.Empty : assembly.Location, Order = i + 1, Version = assemblyName.Version is null ? string.Empty : assemblyName.Version.ToString(), - Domain = domain.FriendlyName +#if NETCOREAPP + Container = AssemblyLoadContext.GetLoadContext(assembly)?.Name +#else + Container = AppDomain.CurrentDomain.FriendlyName +#endif }; Modules.Add(module); diff --git a/source/RevitLookup/Views/Dialogs/ModulesDialog.xaml b/source/RevitLookup/Views/Dialogs/ModulesDialog.xaml index f076c5fc..3b00843d 100644 --- a/source/RevitLookup/Views/Dialogs/ModulesDialog.xaml +++ b/source/RevitLookup/Views/Dialogs/ModulesDialog.xaml @@ -76,13 +76,13 @@ + x:Name="ContainerColumn" + Width="2*"> + Text="{Binding Container}" + ToolTip="{Binding Container}"> diff --git a/source/RevitLookup/Views/Dialogs/ModulesDialog.xaml.cs b/source/RevitLookup/Views/Dialogs/ModulesDialog.xaml.cs index 846c9e59..bb8a568a 100644 --- a/source/RevitLookup/Views/Dialogs/ModulesDialog.xaml.cs +++ b/source/RevitLookup/Views/Dialogs/ModulesDialog.xaml.cs @@ -34,6 +34,12 @@ public ModulesDialog(IServiceProvider serviceProvider) _serviceProvider = serviceProvider; DataContext = new ModulesViewModel(); InitializeComponent(); + +#if NETCOREAPP + ContainerColumn.Header = "Load context"; +#else + ContainerColumn.Header = "Domain"; +#endif } public async Task ShowAsync()