static void Main(string[] args) { //PluginManagerCSharp manager = new PluginManagerCSharp(); //Console.WriteLine(manager.Parts.Count); //try //{ // PluginManagerCSharp manager = new PluginManagerCSharp(); // Console.WriteLine(manager.Parts.Count); //} //catch (ReflectionTypeLoadException ex) //{ // StringBuilder sb = new StringBuilder(); // foreach (Exception exSub in ex.LoaderExceptions) // { // sb.AppendLine(exSub.Message); // FileNotFoundException exFileNotFound = exSub as FileNotFoundException; // if (exFileNotFound != null) // { // if (!string.IsNullOrEmpty(exFileNotFound.FusionLog)) // { // sb.AppendLine("Fusion Log:"); // sb.AppendLine(exFileNotFound.FusionLog); // } // } // sb.AppendLine(); // } // Console.WriteLine(sb.ToString()); // //Display or log the error based on your application. //} //AssemblyCatalog catalog = new AssemblyCatalog(typeof(Program).Assembly); //CompositionContainer container = new CompositionContainer(catalog); //var a = container.GetExportedValue<Param>(); //a.A = 3; //var b = container.GetExportedValue<Param>(); //Debug.Assert(a != b); PluginManagerCSharp manager = new PluginManagerCSharp(true); manager.ComposeAll(); var names = manager.AllPluginNames; foreach (var name in names) { var plugin = manager.GetPlugin(name); Console.WriteLine(plugin.Name()); } var plugin2 = manager.GetPlugin("a"); //Process.Start(new ProcessStartInfo("testCpp.exe")); Console.ReadKey(); }
public void Init() { _manager = new PluginManagerCSharp(); _manager.ComposeAll(); }