From 323d449772f3fa33fe5dd3a72fd6d5b9f5303f01 Mon Sep 17 00:00:00 2001 From: Stephen Verbist Date: Fri, 7 Jul 2023 18:56:22 +0200 Subject: [PATCH] Understand plugins --- src/api/Program.cs | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/api/Program.cs b/src/api/Program.cs index f57d866..2125eaa 100644 --- a/src/api/Program.cs +++ b/src/api/Program.cs @@ -1,8 +1,23 @@ +using System.Reflection; +using System.IO; var builder = WebApplication.CreateBuilder(args); // Add services to the container. -builder.Services.AddControllers(); -// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle + +var controllers = builder.Services.AddControllers(); +Console.WriteLine(Environment.CurrentDirectory); +Console.WriteLine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); +var files = Directory.GetFiles($"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}/plugins"); +Console.WriteLine(files.Length); +foreach (var file in files) +{ + Console.WriteLine(file); + var assembly = Assembly.LoadFrom(file); + controllers = controllers.AddApplicationPart(assembly); +} + +// var assembly = Assembly.LoadFrom("pluginA.dll"); +// // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen();