77using Microsoft . EntityFrameworkCore . Design . Internal ;
88using Microsoft . EntityFrameworkCore . Infrastructure ;
99using Microsoft . EntityFrameworkCore . Tools . Properties ;
10+
1011#if NET
1112using System . Runtime . Loader ;
1213#endif
@@ -58,18 +59,13 @@ public ReflectionOperationExecutor(
5859 AppDomain . CurrentDomain . AssemblyResolve += ResolveAssembly ;
5960
6061#if NET
61- _commandsAssembly = AssemblyLoadContext . LoadFromAssemblyName ( new AssemblyName ( DesignAssemblyName ) ) ;
62+ _commandsAssembly = DesignAssemblyPath != null
63+ ? AssemblyLoadContext . LoadFromAssemblyPath ( DesignAssemblyPath )
64+ : AssemblyLoadContext . LoadFromAssemblyName ( new AssemblyName ( DesignAssemblyName ) ) ;
6265#else
63- if ( DesignAssemblyPath != null )
64- {
65- var assemblyPath = Path . GetDirectoryName ( DesignAssemblyPath ) ;
66- assemblyPath = Path . Combine ( assemblyPath , DesignAssemblyName + ".dll" ) ;
67- _commandsAssembly = Assembly . LoadFrom ( assemblyPath ) ;
68- }
69- else
70- {
71- _commandsAssembly = Assembly . Load ( DesignAssemblyName ) ;
72- }
66+ _commandsAssembly = DesignAssemblyPath != null
67+ ? Assembly . LoadFrom ( DesignAssemblyPath )
68+ : Assembly . Load ( DesignAssemblyName ) ;
7369#endif
7470 var reportHandlerType = _commandsAssembly . GetType ( ReportHandlerTypeName , throwOnError : true , ignoreCase : false ) ! ;
7571
@@ -109,16 +105,12 @@ protected AssemblyLoadContext AssemblyLoadContext
109105 return _assemblyLoadContext ;
110106 }
111107
112- if ( DesignAssemblyPath != null )
108+ AssemblyLoadContext . Default . Resolving += ( context , name ) =>
113109 {
114- AssemblyLoadContext . Default . Resolving += ( context , name ) =>
115- {
116- var assemblyPath = Path . GetDirectoryName ( DesignAssemblyPath ) ! ;
117- assemblyPath = Path . Combine ( assemblyPath , name . Name + ".dll" ) ;
118- return File . Exists ( assemblyPath ) ? context . LoadFromAssemblyPath ( assemblyPath ) : null ;
119- } ;
120- _assemblyLoadContext = AssemblyLoadContext . Default ;
121- }
110+ var assemblyPath = Path . Combine ( AppBasePath , name . Name + ".dll" ) ;
111+ return File . Exists ( assemblyPath ) ? context . LoadFromAssemblyPath ( assemblyPath ) : null ;
112+ } ;
113+ _assemblyLoadContext = AssemblyLoadContext . Default ;
122114
123115 return AssemblyLoadContext . Default ;
124116 }
@@ -136,18 +128,13 @@ public override string? EFCoreVersion
136128
137129 Assembly ? assembly = null ;
138130#if NET
139- assembly = AssemblyLoadContext . LoadFromAssemblyName ( new AssemblyName ( DesignAssemblyName ) ) ;
131+ assembly = DesignAssemblyPath != null
132+ ? AssemblyLoadContext . LoadFromAssemblyPath ( DesignAssemblyPath )
133+ : AssemblyLoadContext . LoadFromAssemblyName ( new AssemblyName ( DesignAssemblyName ) ) ;
140134#else
141- if ( DesignAssemblyPath != null )
142- {
143- var assemblyPath = Path . GetDirectoryName ( DesignAssemblyPath ) ;
144- assemblyPath = Path . Combine ( assemblyPath , DesignAssemblyName + ".dll" ) ;
145- assembly = Assembly . LoadFrom ( assemblyPath ) ;
146- }
147- else
148- {
149- assembly = Assembly . Load ( DesignAssemblyName ) ;
150- }
135+ assembly = DesignAssemblyPath != null
136+ ? Assembly . LoadFrom ( DesignAssemblyPath )
137+ : Assembly . Load ( DesignAssemblyName ) ;
151138#endif
152139 _efcoreVersion = assembly . GetCustomAttribute < AssemblyInformationalVersionAttribute > ( )
153140 ? . InformationalVersion ;
0 commit comments