@@ -140,26 +140,34 @@ public static unsafe int LoadAssembly(IntPtr assemblyPathNative, IntPtr loadCont
140
140
141
141
[ UnconditionalSuppressMessage ( "ReflectionAnalysis" , "IL2026:RequiresUnreferencedCode" ,
142
142
Justification = "The same feature switch applies to GetFunctionPointer and this function. We rely on the warning from GetFunctionPointer." ) ]
143
- static void LoadAssemblyLocal ( string assemblyPath )
143
+ static void LoadAssemblyLocal ( string assemblyPath ) => LoadAssemblyImpl ( assemblyPath ) ;
144
+ }
145
+
146
+ [ RequiresUnreferencedCode ( TrimIncompatibleWarningMessage , Url = "https://aka.ms/dotnet-illink/nativehost" ) ]
147
+ [ UnsupportedOSPlatform ( "android" ) ]
148
+ [ UnsupportedOSPlatform ( "browser" ) ]
149
+ [ UnsupportedOSPlatform ( "ios" ) ]
150
+ [ UnsupportedOSPlatform ( "maccatalyst" ) ]
151
+ [ UnsupportedOSPlatform ( "tvos" ) ]
152
+ private static void LoadAssemblyImpl ( string assemblyPath )
153
+ {
154
+ lock ( s_loadedInDefaultContext )
144
155
{
145
- lock ( s_loadedInDefaultContext )
146
- {
147
- if ( s_loadedInDefaultContext . Contains ( assemblyPath ) )
148
- return ;
149
-
150
- var resolver = new AssemblyDependencyResolver ( assemblyPath ) ;
151
- AssemblyLoadContext . Default . Resolving +=
152
- ( context , assemblyName ) =>
153
- {
154
- string ? assemblyPath = resolver . ResolveAssemblyToPath ( assemblyName ) ;
155
- return assemblyPath != null
156
- ? context . LoadFromAssemblyPath ( assemblyPath )
157
- : null ;
158
- } ;
159
-
160
- AssemblyLoadContext . Default . LoadFromAssemblyPath ( assemblyPath ) ;
161
- s_loadedInDefaultContext . Add ( assemblyPath ) ;
162
- }
156
+ if ( s_loadedInDefaultContext . Contains ( assemblyPath ) )
157
+ return ;
158
+
159
+ var resolver = new AssemblyDependencyResolver ( assemblyPath ) ;
160
+ AssemblyLoadContext . Default . Resolving +=
161
+ ( context , assemblyName ) =>
162
+ {
163
+ string ? assemblyPath = resolver . ResolveAssemblyToPath ( assemblyName ) ;
164
+ return assemblyPath != null
165
+ ? context . LoadFromAssemblyPath ( assemblyPath )
166
+ : null ;
167
+ } ;
168
+
169
+ AssemblyLoadContext . Default . LoadFromAssemblyPath ( assemblyPath ) ;
170
+ s_loadedInDefaultContext . Add ( assemblyPath ) ;
163
171
}
164
172
}
165
173
0 commit comments