diff --git a/src/Microsoft.PowerShell.CoreCLR.AssemblyLoadContext/CoreCLR/CorePsAssemblyLoadContext.cs b/src/Microsoft.PowerShell.CoreCLR.AssemblyLoadContext/CoreCLR/CorePsAssemblyLoadContext.cs index 922565574..8c17f5e86 100644 --- a/src/Microsoft.PowerShell.CoreCLR.AssemblyLoadContext/CoreCLR/CorePsAssemblyLoadContext.cs +++ b/src/Microsoft.PowerShell.CoreCLR.AssemblyLoadContext/CoreCLR/CorePsAssemblyLoadContext.cs @@ -186,10 +186,12 @@ namespace System.Management.Automation // Try loading it from the TPA list. All PowerShell dependencies are in the // TPA list when published with dotnet-cli. - asmLoaded = Assembly.Load(assemblyName); - + try + { + asmLoaded = Assembly.Load(assemblyName); + } // If it wasn't there, try loading from path - if (asmLoaded == null) + catch (FileNotFoundException) { asmLoaded = asmFilePath.EndsWith(".ni.dll", StringComparison.OrdinalIgnoreCase) ? LoadFromNativeImagePath(asmFilePath, null) @@ -250,9 +252,12 @@ namespace System.Management.Automation // Try loading it from the TPA list. All PowerShell dependencies are in the // TPA list when published with dotnet-cli. - asmLoaded = Assembly.Load(assemblyName); - - if (asmLoaded == null) + try + { + asmLoaded = Assembly.Load(assemblyName); + } + // If it wasn't there, try loading from path + catch (FileNotFoundException) { // Load the assembly through 'LoadFromNativeImagePath' or 'LoadFromAssemblyPath' asmLoaded = assemblyPath.EndsWith(".ni.dll", StringComparison.OrdinalIgnoreCase) @@ -520,4 +525,4 @@ namespace System.Management.Automation } } -#endif \ No newline at end of file +#endif