Quartz.NET использует следующее для имени класса задания:
ClassName, myAssembly
Однако myAssembly.dll живет в GAC, поэтому при попытке выполнить задание я получаю следующую ошибку:
Could not load file or assembly 'myAssembly' or one of its dependencies. The system cannot find the file specified.
Мне действительно нужно использовать полное имя, поэтому он будет загружаться с ПКК. Например
ClassName, myAssembly, Version=1.2.3.4, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxxxx
Есть ли способ передать Quartz.NET полную информацию? Я заметил в "GetStorableJobTypeName" в StdAdoDelegate.cs, что номер версии и т.д. Отрезаны от имени.
Должен ли я просто создать собственный пользовательский StdAdoDelegate и переопределить эту функцию? Не совсем уверен, что такое лучшая практика здесь.
Если вы действительно этого хотите, вы должны переопределить имя GetStorableJobTypeName, как вы уже обнаружили. Я бы настоятельно советовал хранить полное имя, так как это приведет к множеству проблем. Если ничего другого, привязка переадресаций всякий раз, когда вы создаете новую версию DLL.