Win7 環境下,安裝 .NET Framework 3.5 與 Sybase ODBC 後,通過 install.bat 註冊數據交換服務失敗,拋出異常鏈:
System.Configuration.ConfigurationErrorsException: Error creating context 'spring.root'
--> Spring.Objects.Factory.ObjectCreationException: Error creating object 'SchedulerFactory'
--> System.IO.FileNotFoundException: 未能加載文件或程序集 "Quartz, Version=2.1.2.400..."
Common.Logging 等庫,需一同部署。1. 確認項目屬性 -> Application -> Target framework 為 .NET 4.0 或更高
2. 使用 gacutil 安裝 Quartz.dll 及其依賴:
gacutil /i Quartz.dll
gacutil /i Common.Logging.dll
3. 或在項目屬性 -> Build Events -> Post-build event 中複製所有依賴到輸出目錄
4. 檢查 spring.xml 中 SchedulerFactoryObject 配置的程序集名稱、版本、PublicKeyToken 是否與實際 DLL 一致
建議遷移至 .NET Core / .NET 5+ 並使用 Quartz.NET 官方 NuGet 包,避免 GAC 依賴痛點。