Sto utilizzando ILMerge e Quartz.NET in un'applicazione di servizio Windows .NET 4.0 C#. L'app funziona bene senza usare ILMerge, ma ora che ci stiamo avvicinando alla versione di spedizione, volevo combinare tutte le DLL in un singolo eseguibile.Eseguibile non riuscito con l'eccezione strana
Il problema è, che ILMerge sembra funzionare bene, ma quando ho eseguito il file eseguibile combinato, si genera questa eccezione:
Eccezione non gestita: Quartz.SchedulerException: Tipo ThreadPool 'Quartz.Simpl.SimpleThreadPool' possibile non essere istanziato. ---> System.InvalidCastException: impossibile eseguire il cast dell'oggetto di tipo 'Quartz.Simpl.SimpleThreadPool' per digitare 'Quartz.Spi.IThreadPool'.
a Quartz.Util.ObjectUtils.InstantiateType [T] (tipo Type) in: Linea 0
a Quartz.Impl.StdSchedulerFactory.Instantiate() in: Linea 0
--- Fine dell'analisi dello stack eccezione interna - -
a Quartz.Impl.StdSchedulerFactory.Instantiate() in: linea 0
a Quartz.Impl.StdSchedulerFactory.GetScheduler() in: linea 0
qualcuno ha qualche idea del perché questo è? Ho già perso più di 4 ore e non riesco a capirlo. Se non combino con ILMerge, allora tutto funziona correttamente (con Quartz.dll e Common.Logging.dll nella stessa directory).
Sono sicuro che qualcuno deve aver provato a confezionare Quartz.net in questo modo prima, qualche idea?
È la prima volta che hai provato a combinarlo con ILMerge? O ha funzionato prima delle recenti modifiche? –
La prima volta che ho provato a utilizzare ILMerge, l'ho eseguito, non funzionava più. Pensato che doveva essere ILMerge, provato la bandiera internalizzata, non ha cambiato nulla. Rimuovi ILMerge, compilato normalmente (come facevo prima di provare), tutto funziona (se le DLL sono nella stessa directory). –
Una delle cose che ILMerge non gestisce è il caricamento di tipo da un assieme esterno (che potrebbe essere il caso basato su uno sguardo sullo stacktrace). Forse guarda anche a una delle alternative trovate [qui] (http://chrisghardwick.blogspot.nl/2012/01/ilmerge-getting-started-merging-and.html) – rene