C# .NET 4.0 Windows Service uygulamasında ILMerge ve Quartz.NET kullanıyorum. Uygulama, ILMerge kullanmadan gayet iyi çalışıyor, ancak şimdi gönderi sürümüne yaklaştığımıza göre, tüm DLL'leri tek bir yürütülebilir dosyada birleştirmek istedim.Yürütülebilir tuhaf istisna ile başarısız
Sorun ILMerge iyi iş gibi görünüyor ki, ama kombine yürütülebilir çalıştırdığınızda, bu istisna atar:
işlenmeyen İstisna: Quartz.SchedulerException: threadpool tipi 'Quartz.Simpl.SimpleThreadPool' could örneklendirilemez. ---> System.InvalidCastException: 'Quartz.SlimplThreadPool' türünde 'Quartz.Spi.IThreadPool' yazmak için nesne dönüştürülemiyor. içinde Quartz.Util.ObjectUtils.InstantiateType [T] (Tip tipi) en
: hattı 0
Quartz.Impl.StdSchedulerFactory.Instantiate (at) 'de: hattı 0
--- iç durum yığın izleme sonu - - içinde Quartz.Impl.StdSchedulerFactory.Instantiate() at
: in Quartz.Impl.StdSchedulerFactory.GetScheduler (satır 0
): satır 0
herkes bu yüzden bir fikri var mı? Zaten 4 saatten fazla harcadım ve anlayamıyorum. ILMerge ile birleşmezse, her şey iyi çalışır (Quartz.dll ve Common.Logging.dll ile aynı dizinde).
Eminim ki birileri daha önce böyle bir şekilde Quartz.net'i paketlemeyi denemeli, herhangi bir fikir var mı?
Bu, ilk kez ILMerge ile birleştirmeyi denediniz mi? Ya da son değişikliklerden önce mi çalıştı? –
İlk kez ILMerge'i kullanmaya çalıştım, koştum, artık işe yaramadı. Figürlü, ILMerge olmalı, içselleştirmeyi denedi, hiçbir şeyi değiştirmedi. Normalde derlenmiş ILMerge'i (bunu denemeden önce kullandığım gibi), tüm işleri (DLL'ler aynı dizinde bulunuyorsa) kaldırın. –
ILMerge'nin işleyemediği şeylerden biri, harici bir derlemeden yükleme yapmaktır (stacktrace üzerinde bir bakışa dayalı durum böyle olabilir). Belki de (burada) http://chrisghardwick.blogspot.nl/2012/01/ilmerge-getting-started-merging-and.html) – rene