Add assembly to preload list in candidate process
authorj-h.choi <j-h.choi@samsung.com>
Wed, 20 Apr 2022 01:29:32 +0000 (10:29 +0900)
committer조웅석/Common Platform Lab(SR)/삼성전자 <ws77.cho@samsung.com>
Fri, 29 Apr 2022 00:33:05 +0000 (09:33 +0900)
Change-Id: I7274a7cea59e208c66c02ea8761faec78e6223e2

Managed/Tizen.Runtime/Preloader.cs
packaging/10.Dotnet.Launcher.preload

index 8c8f30b..2cfc6f9 100644 (file)
@@ -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
index 2d15b2a..e005270 100644 (file)
@@ -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 <PrivateImplementationDetails>
-System.Private.Uri.dll System.Uri
-System.Private.Xml.dll <PrivateImplementationDetails>
-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 <PrivateImplementationDetails>
+System.Private.Uri.dll System.Uri
+System.Private.Xml.dll
+System.Private.Xml.dll <PrivateImplementationDetails>
+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