Est-ce que quelqu'un sait comment disposer des AddIn créés avec System.AddIn? Tous les exemples en ligne semblent montrer comment charger et utiliser facilement un addin, mais aucun ne montre comment les éliminer une fois qu'ils sont vivants. Mon problème est que je crée des addins dans de nouveaux processus, et que ces processus ne sont jamais récupérés, ce qui est un problème.Élimination des AddIn créés avec MAF (System.AddIn)
Voici un exemple de code illustrant mon problème. Supposons que l'utilisateur ne quitte jamais cette application, mais crée à la place de nombreuses instances de ICalculator. Comment ces processus addIn sont-ils éliminés?
static void Main(string[] args)
{
string addInRoot = GetExecutingDirectory();
// Update the cache files of the pipeline segments and add-ins
string[] warnings = AddInStore.Update(addInRoot);
// search for add-ins of type ICalculator
Collection<AddInToken> tokens = AddInStore.FindAddIns(typeof(ICalculatorHost), addInRoot);
string line = Console.ReadLine();
while (true)
{
AddInToken calcToken = ChooseCalculator(tokens);
AddInProcess addInProcess = new AddInProcess();
ICalculatorHost calc = calcToken.Activate<ICalculatorHost>(addInProcess, AddInSecurityLevel.Internet);
// run the add-in
RunCalculator(calc);
}
}
Oh, quelques informations supplémentaires. Je garde également une référence à la poignée de contrat dans ma classe HostViewAdapter, qui ne semble toujours pas faire l'affaire. –