From cf5d5e3b65ea9548881cc7571ec3b6be8378cef2 Mon Sep 17 00:00:00 2001 From: "j-h.choi" Date: Wed, 20 Apr 2022 10:29:32 +0900 Subject: [PATCH] Add assembly to preload list in candidate process Change-Id: I7274a7cea59e208c66c02ea8761faec78e6223e2 --- Managed/Tizen.Runtime/Preloader.cs | 23 +++++-- packaging/10.Dotnet.Launcher.preload | 129 ++++++++++++++++++++++++++++++----- 2 files changed, 127 insertions(+), 25 deletions(-) diff --git a/Managed/Tizen.Runtime/Preloader.cs b/Managed/Tizen.Runtime/Preloader.cs index 8c8f30b..2cfc6f9 100644 --- a/Managed/Tizen.Runtime/Preloader.cs +++ b/Managed/Tizen.Runtime/Preloader.cs @@ -94,7 +94,7 @@ namespace Tizen.Runtime typenameStr = typenameStr.Replace("." + methodStr + parenthesis, ""); } - if (assemblyStr == "" || typenameStr == "" || typenameStr.Contains(parenthesis)) + if (assemblyStr == "") { Console.WriteLine("[Warning] Skip the '" + line + "' in " + fileName); continue; @@ -103,22 +103,31 @@ namespace Tizen.Runtime try { Assembly asm = AssemblyLoadContext.Default.LoadFromAssemblyName(new AssemblyName(assemblyStr)); - Type type = asm.GetType(typenameStr); - if (type == null) + if (asm == null) { Console.WriteLine("[Warning] Check the '" + line + "' in " + fileName); continue; } - if (methodStr != "") + if (typenameStr != "" && !typenameStr.Contains(parenthesis)) { - MethodInfo method = type.GetMethod(methodStr, bindingFlag); - if (method == null) + Type type = asm.GetType(typenameStr); + if (type == null) { Console.WriteLine("[Warning] Check the '" + line + "' in " + fileName); continue; } - method.Invoke(null, null); + + if (methodStr != "") + { + MethodInfo method = type.GetMethod(methodStr, bindingFlag); + if (method == null) + { + Console.WriteLine("[Warning] Check the '" + line + "' in " + fileName); + continue; + } + method.Invoke(null, null); + } } } catch diff --git a/packaging/10.Dotnet.Launcher.preload b/packaging/10.Dotnet.Launcher.preload index 2d15b2a..e005270 100644 --- a/packaging/10.Dotnet.Launcher.preload +++ b/packaging/10.Dotnet.Launcher.preload @@ -3,18 +3,57 @@ ## AssemblyName.dll TypeName.Preload() ## ## The methods must not have parameters. ## ########################################### -System.IO.FileSystem.dll System.IO.File -System.Security.Cryptography.Algorithms.dll Interop -System.Security.Cryptography.Algorithms.dll System.Security.Cryptography.MD5 +Microsoft.Win32.Primitives.dll +mscorlib.dll +netstandard.dll +System.Collections.Concurrent.dll +System.Collections.dll System.Collections.dll System.Collections.Generic.HashSet`1 System.Collections.dll System.Collections.Generic.Queue`1 -System.Private.Uri.dll -System.Private.Uri.dll System.Uri -System.Private.Xml.dll -System.Private.Xml.dll System.Xml.IXmlLineInfo -System.Private.Xml.dll System.Xml.IXmlNamespaceResolver -System.Runtime.dll System.Collections.Generic.ISet`1 -System.Runtime.dll System.Reflection.RuntimeReflectionExtensions +System.Collections.Immutable.dll +System.Collections.NonGeneric.dll +System.Collections.Specialized.dll +System.ComponentModel.dll +System.ComponentModel.dll System.IServiceProvider +System.ComponentModel.Primitives.dll +System.ComponentModel.TypeConverter.dll +System.Console.dll +System.Data.Common.dll +System.Data.dll +System.Diagnostics.DiagnosticSource.dll +System.Diagnostics.FileVersionInfo.dll +System.Diagnostics.Process.dll +System.Diagnostics.StackTrace.dll +System.Diagnostics.TraceSource.dll +System.Diagnostics.Tracing.dll +System.dll +System.Formats.Asn1.dll +System.IO.FileSystem.dll +System.IO.FileSystem.dll System.IO.File +System.IO.FileSystem.DriveInfo.dll +System.IO.MemoryMappedFiles.dll +System.Linq.dll +System.Linq.dll System.Linq.Enumerable +System.Linq.dll System.Linq.EnumerableSorter`1 +System.Linq.dll System.Linq.IIListProvider`1 +System.Linq.dll System.Linq.IOrderedEnumerable`1 +System.Linq.dll System.Linq.IPartition`1 +System.Linq.dll System.Linq.OrderedEnumerable`1 +System.Linq.Expressions.dll +System.Linq.Expressions.dll System.Linq.Expressions.ExpressionVisitor +System.Memory.dll +System.Net.Http.dll +System.Net.NameResolution.dll +System.Net.Primitives.dll +System.Net.Requests.dll +System.Net.Security.dll +System.Net.ServicePoint.dll +System.Net.Sockets.dll +System.Net.WebHeaderCollection.dll +System.Net.WebSockets.Client.dll +System.Net.WebSockets.dll +System.Numerics.Vectors.dll +System.ObjectModel.dll System.ObjectModel.dll System.Collections.ObjectModel.ObservableCollection`1 System.ObjectModel.dll System.Collections.Specialized.INotifyCollectionChanged System.ObjectModel.dll System.Collections.Specialized.NotifyCollectionChangedAction @@ -24,12 +63,66 @@ System.ObjectModel.dll System.ComponentModel.INotifyPropertyChanged System.ObjectModel.dll System.ComponentModel.PropertyChangedEventArgs System.ObjectModel.dll System.ComponentModel.PropertyChangedEventHandler System.ObjectModel.dll System.Windows.Input.ICommand -System.ComponentModel.dll System.IServiceProvider -System.Linq.dll System.Linq.Enumerable -System.Linq.dll System.Linq.EnumerableSorter`1 -System.Linq.dll System.Linq.IIListProvider`1 -System.Linq.dll System.Linq.IOrderedEnumerable`1 -System.Linq.dll System.Linq.IPartition`1 -System.Linq.dll System.Linq.OrderedEnumerable`1 -System.Linq.Expressions.dll System.Linq.Expressions.ExpressionVisitor +System.Private.CoreLib.dll +System.Private.Uri.dll +System.Private.Uri.dll +System.Private.Uri.dll System.Uri +System.Private.Xml.dll +System.Private.Xml.dll +System.Private.Xml.dll System.Xml.IXmlLineInfo +System.Private.Xml.dll System.Xml.IXmlNamespaceResolver +System.Reflection.Emit.ILGeneration.dll +System.Reflection.Emit.Lightweight.dll +System.Reflection.Metadata.dll +System.Reflection.Primitives.dll +System.Runtime.CompilerServices.Unsafe.dll +System.Runtime.dll +System.Runtime.dll System.Collections.Generic.ISet`1 +System.Runtime.dll System.Reflection.RuntimeReflectionExtensions +System.Runtime.Extensions.dll +System.Runtime.InteropServices.dll +System.Runtime.InteropServices.RuntimeInformation.dll +System.Runtime.Intrinsics.dll +System.Runtime.Loader.dll +System.Runtime.Numerics.dll +System.Runtime.Serialization.Formatters.dll +System.Runtime.Serialization.Primitives.dll +System.Security.Cryptography.Algorithms.dll +System.Security.Cryptography.Algorithms.dll Interop +System.Security.Cryptography.Algorithms.dll System.Security.Cryptography.MD5 +System.Security.Cryptography.Encoding.dll +System.Security.Cryptography.OpenSsl.dll +System.Security.Cryptography.Primitives.dll System.Security.Cryptography.Primitives.dll System.Security.Cryptography.HashAlgorithm +System.Security.Cryptography.X509Certificates.dll +System.Text.Encoding.Extensions.dll +System.Text.Encodings.Web.dll +System.Text.Json.dll +System.Text.RegularExpressions.dll +System.Threading.dll +System.Threading.Thread.dll +System.Threading.ThreadPool.dll +System.Transactions.dll +System.Transactions.Local.dll +System.Web.HttpUtility.dll +System.Xml.ReaderWriter.dll +Tizen.Applications.Common.dll +Tizen.Applications.EventManager.dll +Tizen.Applications.MessagePort.dll +Tizen.Applications.PackageManager.dll +Tizen.Applications.ThemeManager.dll +Tizen.Applications.UI.dll +Tizen.dll +Tizen.Log.dll +Tizen.Multimedia.MediaPlayer.dll +Tizen.Network.Bluetooth.dll +Tizen.Network.Connection.dll +Tizen.Network.WiFi.dll +Tizen.Runtime.dll +Tizen.Sensor.dll +Tizen.System.Information.dll +Tizen.System.PlatformConfig.dll +Tizen.System.SystemSettings.dll +Tizen.Tracer.dll +Tizen.Uix.Tts.dll +Tizen.Uix.VoiceControl.dll -- 2.7.4