From 5ecc71e4def69391f6ecb5c721e8ae30000eea31 Mon Sep 17 00:00:00 2001 From: denglihong2007 <98096191+denglihong2007@users.noreply.github.com> Date: Sat, 26 Jul 2025 23:55:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E4=B8=8E=E9=A1=B9=E7=9B=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CRSim.Core/CRSim.Core.csproj | 2 + CRSim.Core/Services/PluginService.cs | 10 +- CRSim.Core/Utils/PluginLoadContext.cs | 21 +++ .../CRSim.ExamplePlugin.csproj | 33 ----- CRSim.ExamplePlugin/Plugin.cs | 21 --- .../Properties/launchSettings.json | 11 -- .../ViewModels/ScreenViewModel.cs | 17 --- CRSim.ExamplePlugin/Views/ScreenView.xaml | 134 ------------------ CRSim.ExamplePlugin/Views/ScreenView.xaml.cs | 16 --- CRSim.ExamplePlugin/icon.png | Bin 67412 -> 0 bytes CRSim.ExamplePlugin/manifest.json | 11 -- CRSim.ExamplePlugin/style.json | 5 - CRSim.PluginSdk/CRSim.PluginSdk.csproj | 19 --- .../CRSim.ScreenSimulator.csproj | 4 +- CRSim.sln | 12 -- Directory.Build.props | 7 + 16 files changed, 38 insertions(+), 285 deletions(-) create mode 100644 CRSim.Core/Utils/PluginLoadContext.cs delete mode 100644 CRSim.ExamplePlugin/CRSim.ExamplePlugin.csproj delete mode 100644 CRSim.ExamplePlugin/Plugin.cs delete mode 100644 CRSim.ExamplePlugin/Properties/launchSettings.json delete mode 100644 CRSim.ExamplePlugin/ViewModels/ScreenViewModel.cs delete mode 100644 CRSim.ExamplePlugin/Views/ScreenView.xaml delete mode 100644 CRSim.ExamplePlugin/Views/ScreenView.xaml.cs delete mode 100644 CRSim.ExamplePlugin/icon.png delete mode 100644 CRSim.ExamplePlugin/manifest.json delete mode 100644 CRSim.ExamplePlugin/style.json delete mode 100644 CRSim.PluginSdk/CRSim.PluginSdk.csproj create mode 100644 Directory.Build.props diff --git a/CRSim.Core/CRSim.Core.csproj b/CRSim.Core/CRSim.Core.csproj index e50c54b..df37937 100644 --- a/CRSim.Core/CRSim.Core.csproj +++ b/CRSim.Core/CRSim.Core.csproj @@ -6,6 +6,8 @@ enable enable AnyCPU;x64 + CRSim.Core + True diff --git a/CRSim.Core/Services/PluginService.cs b/CRSim.Core/Services/PluginService.cs index c575f26..515b18f 100644 --- a/CRSim.Core/Services/PluginService.cs +++ b/CRSim.Core/Services/PluginService.cs @@ -49,13 +49,12 @@ public class PluginService : IPluginService PluginManifest manifest = new(); try { - Console.WriteLine(manifestYaml); manifest = JsonSerializer.Deserialize(manifestYaml,JsonContextWithCamelCase.Default.PluginManifest); - Console.WriteLine("成功解析YAML文件: " + manifestPath); + Console.WriteLine("成功解析JSON文件: " + manifestPath); } catch (Exception ex) { - Console.WriteLine("YAML解析失败"); + Console.WriteLine("JSON解析失败"); Console.WriteLine(ex.ToString()); continue; } @@ -91,8 +90,9 @@ public class PluginService : IPluginService { Console.WriteLine("尝试加载插件: " + manifest.Id); var fullPath = Path.GetFullPath(Path.Combine(pluginDir, manifest.EntranceAssembly)); - var asm = Assembly.LoadFrom(fullPath); - var entrance = asm.ExportedTypes.FirstOrDefault(x => + var loadContext = new PluginLoadContext(fullPath); + var assembly = loadContext.LoadFromAssemblyPath(fullPath); + var entrance = assembly.ExportedTypes.FirstOrDefault(x => x.BaseType == typeof(PluginBase) || x.GetCustomAttributes().FirstOrDefault(a => a.GetType() == typeof(PluginEntrance)) != null); diff --git a/CRSim.Core/Utils/PluginLoadContext.cs b/CRSim.Core/Utils/PluginLoadContext.cs new file mode 100644 index 0000000..8ce9894 --- /dev/null +++ b/CRSim.Core/Utils/PluginLoadContext.cs @@ -0,0 +1,21 @@ +锘縰sing System.Reflection; +using System.Runtime.Loader; + +namespace CRSim.Core.Utils +{ + internal class PluginLoadContext(string pluginPath) : AssemblyLoadContext + { + private readonly AssemblyDependencyResolver _resolver = new(pluginPath); + + protected override Assembly Load(AssemblyName assemblyName) + { + string assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName); + if (assemblyPath != null) + { + return LoadFromAssemblyPath(assemblyPath); + } + + return null; + } + } +} diff --git a/CRSim.ExamplePlugin/CRSim.ExamplePlugin.csproj b/CRSim.ExamplePlugin/CRSim.ExamplePlugin.csproj deleted file mode 100644 index fe37ee7..0000000 --- a/CRSim.ExamplePlugin/CRSim.ExamplePlugin.csproj +++ /dev/null @@ -1,33 +0,0 @@ -锘 - - net9.0-windows10.0.19041.0 - 10.0.19041.0 - CRSim.ExamplePlugin - win-x86;win-x64;win-arm64 - True - true - AnyCPU;x64 - enable - enable - - - - runtime - - - runtime - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - \ No newline at end of file diff --git a/CRSim.ExamplePlugin/Plugin.cs b/CRSim.ExamplePlugin/Plugin.cs deleted file mode 100644 index d80be26..0000000 --- a/CRSim.ExamplePlugin/Plugin.cs +++ /dev/null @@ -1,21 +0,0 @@ -锘縰sing CRSim.Core.Abstractions; -using CRSim.Core.Attributes; -using CRSim.ExamplePlugin.ViewModels; -using CRSim.ExamplePlugin.Views; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using System; - -namespace CRSim.ExamplePlugin; - -[PluginEntrance] -public class Plugin : PluginBase -{ - public override Type ViewModel => typeof(ScreenViewModel); - public override Type View => typeof(ScreenView); - public override void Initialize(HostBuilderContext context, IServiceCollection services) - { - services.AddTransient(ViewModel); - services.AddTransient(View); - } -} \ No newline at end of file diff --git a/CRSim.ExamplePlugin/Properties/launchSettings.json b/CRSim.ExamplePlugin/Properties/launchSettings.json deleted file mode 100644 index 4c2cd5f..0000000 --- a/CRSim.ExamplePlugin/Properties/launchSettings.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "profiles": { - "CRSim 鎻掍欢": { - "commandName": "Executable", - "executablePath": "$(CRSim_DebugBinaryFile)", - "commandLineArgs": "-epp $(TargetDir) -debug", - "workingDirectory": "$(CRSim_DebugBinaryDirectory)", - "nativeDebugging": true - } - } -} \ No newline at end of file diff --git a/CRSim.ExamplePlugin/ViewModels/ScreenViewModel.cs b/CRSim.ExamplePlugin/ViewModels/ScreenViewModel.cs deleted file mode 100644 index c035da7..0000000 --- a/CRSim.ExamplePlugin/ViewModels/ScreenViewModel.cs +++ /dev/null @@ -1,17 +0,0 @@ -锘縰sing CRSim.Core.Models; -using CRSim.Core.Abstractions; -using CRSim.ScreenSimulator.ViewModels; -namespace CRSim.ExamplePlugin.ViewModels -{ - public class ScreenViewModel : BaseScreenViewModel - { - public ScreenViewModel(ITimeService timeService, ISettingsService settingsService) - : base(timeService, settingsService) - { - Text = "鎴愰兘閾佽矾瀹㈡湇鐢佃瘽锛028-12306"; - ItemsPerPage = 12; - ScreenCount = 1; - StationType = StationType.Departure; - } - } -} diff --git a/CRSim.ExamplePlugin/Views/ScreenView.xaml b/CRSim.ExamplePlugin/Views/ScreenView.xaml deleted file mode 100644 index 12302b6..0000000 --- a/CRSim.ExamplePlugin/Views/ScreenView.xaml +++ /dev/null @@ -1,134 +0,0 @@ -锘 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/CRSim.ExamplePlugin/Views/ScreenView.xaml.cs b/CRSim.ExamplePlugin/Views/ScreenView.xaml.cs deleted file mode 100644 index 9c57c51..0000000 --- a/CRSim.ExamplePlugin/Views/ScreenView.xaml.cs +++ /dev/null @@ -1,16 +0,0 @@ -锘 -using CRSim.ExamplePlugin.ViewModels; -using System.Windows.Controls; -namespace CRSim.ExamplePlugin.Views -{ - public partial class ScreenView : Page - { - public ScreenViewModel ViewModel { get; } - public ScreenView(ScreenViewModel viewModel) - { - InitializeComponent(); - ViewModel = viewModel; - DataContext = viewModel; - } - } -} diff --git a/CRSim.ExamplePlugin/icon.png b/CRSim.ExamplePlugin/icon.png deleted file mode 100644 index eecd34e2c7f8167cb2c3d92b456c73d38284fc4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67412 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 )H5Yz~uUt=?A1? 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 A1ONa4 diff --git a/CRSim.ExamplePlugin/manifest.json b/CRSim.ExamplePlugin/manifest.json deleted file mode 100644 index 0df8be5..0000000 --- a/CRSim.ExamplePlugin/manifest.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "entranceAssembly": "CRSim.ExamplePlugin.dll", - "name": "绀轰緥鎻掍欢", - "id": "CRSim.ExamplePlugin", - "url": "https://crsim.tech", - "version": "0.0.0.0", - "apiVersion": "3.0.0.0", - "author": "鐢垫帓楠", - "type": "ScreenStyle", - "description": "杩欐槸涓涓ず渚嬫彃浠躲" -} \ No newline at end of file diff --git a/CRSim.ExamplePlugin/style.json b/CRSim.ExamplePlugin/style.json deleted file mode 100644 index 018c1d5..0000000 --- a/CRSim.ExamplePlugin/style.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "parameters": [ "station", "text" ], - "region": "骞垮厓", - "type": "杞︾珯澶у睆" -} \ No newline at end of file diff --git a/CRSim.PluginSdk/CRSim.PluginSdk.csproj b/CRSim.PluginSdk/CRSim.PluginSdk.csproj deleted file mode 100644 index bc0350c..0000000 --- a/CRSim.PluginSdk/CRSim.PluginSdk.csproj +++ /dev/null @@ -1,19 +0,0 @@ -锘 - - - net9.0-windows10.0.19041.0 - enable - enable - CRSim Plugin SDK - - - - 鐢ㄤ簬寮鍙戝簲鐢 CRSim 鎻掍欢鐨 SDK銆 - True - - - - - - - diff --git a/CRSim.ScreenSimulator/CRSim.ScreenSimulator.csproj b/CRSim.ScreenSimulator/CRSim.ScreenSimulator.csproj index 0552491..1447cf2 100644 --- a/CRSim.ScreenSimulator/CRSim.ScreenSimulator.csproj +++ b/CRSim.ScreenSimulator/CRSim.ScreenSimulator.csproj @@ -6,7 +6,9 @@ enable true AnyCPU;x64 - enable + enable + CRSim.ScreenSimulator + True diff --git a/CRSim.sln b/CRSim.sln index e81ea93..c807cdb 100644 --- a/CRSim.sln +++ b/CRSim.sln @@ -7,12 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CRSim.Core", "CRSim.Core\CR EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CRSim", "CRSim\CRSim.csproj", "{9C334D96-6CE7-4137-9CA8-2969E4C67C0F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CRSim.ExamplePlugin", "CRSim.ExamplePlugin\CRSim.ExamplePlugin.csproj", "{FDD66ED3-4F7C-4A81-BE0F-F5E504BFCB2E}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CRSim.ScreenSimulator", "CRSim.ScreenSimulator\CRSim.ScreenSimulator.csproj", "{94927020-7AD7-4F6F-A456-F34A8E0BC40A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CRSim.PluginSdk", "CRSim.PluginSdk\CRSim.PluginSdk.csproj", "{2216DFBB-8EE2-4487-9772-7CAB0BF3A5C6}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -29,18 +25,10 @@ Global {9C334D96-6CE7-4137-9CA8-2969E4C67C0F}.Release|x64.ActiveCfg = Release|x64 {9C334D96-6CE7-4137-9CA8-2969E4C67C0F}.Release|x64.Build.0 = Release|x64 {9C334D96-6CE7-4137-9CA8-2969E4C67C0F}.Release|x64.Deploy.0 = Release|x64 - {FDD66ED3-4F7C-4A81-BE0F-F5E504BFCB2E}.Debug|x64.ActiveCfg = Debug|x64 - {FDD66ED3-4F7C-4A81-BE0F-F5E504BFCB2E}.Debug|x64.Build.0 = Debug|x64 - {FDD66ED3-4F7C-4A81-BE0F-F5E504BFCB2E}.Release|x64.ActiveCfg = Release|x64 - {FDD66ED3-4F7C-4A81-BE0F-F5E504BFCB2E}.Release|x64.Build.0 = Release|x64 {94927020-7AD7-4F6F-A456-F34A8E0BC40A}.Debug|x64.ActiveCfg = Debug|x64 {94927020-7AD7-4F6F-A456-F34A8E0BC40A}.Debug|x64.Build.0 = Debug|x64 {94927020-7AD7-4F6F-A456-F34A8E0BC40A}.Release|x64.ActiveCfg = Release|x64 {94927020-7AD7-4F6F-A456-F34A8E0BC40A}.Release|x64.Build.0 = Release|x64 - {2216DFBB-8EE2-4487-9772-7CAB0BF3A5C6}.Debug|x64.ActiveCfg = Debug|Any CPU - {2216DFBB-8EE2-4487-9772-7CAB0BF3A5C6}.Debug|x64.Build.0 = Debug|Any CPU - {2216DFBB-8EE2-4487-9772-7CAB0BF3A5C6}.Release|x64.ActiveCfg = Release|Any CPU - {2216DFBB-8EE2-4487-9772-7CAB0BF3A5C6}.Release|x64.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..698c0e8 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,7 @@ + + + 2.3.103.0 + 鐢垫帓楠 + https://github.com/denglihong2007/CRSim + +