mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 10:46:33 +02:00
[PTRun] PowerToys Run - plugin dependency loading (#30513)
* Updated the Wox.Plugin to correctly load and resolve plugin dependecies * Included new plugin.props in all plugins to enable dynamic dependecy loading * Updated dev docs to include new plugin.props in plugins * Fixed double dependecy loading bug * - Updated to only use dynamic loading when explicitly set by the plugin. - Removed no longer required props from default plugins which do not need dynamic loading. - Updated dev-docs to align with latest changes * Removed line spacing changes in plugins csproj * fixed spelling * csproj cleanup * removed unnecessary null checking --------- Co-authored-by: Corey Hayward <coreyh@tigereyeconsulting.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.Loader;
|
||||
@@ -153,7 +154,15 @@ namespace Wox.Plugin
|
||||
|
||||
try
|
||||
{
|
||||
_assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(Metadata.ExecuteFilePath);
|
||||
if (Metadata.DynamicLoading)
|
||||
{
|
||||
var loadContext = new PluginLoadContext(Metadata.ExecuteFilePath);
|
||||
_assembly = loadContext.LoadFromAssemblyName(new AssemblyName(Path.GetFileNameWithoutExtension(Metadata.ExecuteFilePath)));
|
||||
}
|
||||
else
|
||||
{
|
||||
_assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(Metadata.ExecuteFilePath);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user