Support team, please.
{ "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, "moduleResolution": "node", "importHelpers": true, "target": "ES2022", "module": "es2020", "lib": [ "es2018", "dom" ], "paths": { "@abp/*": ["node_modules/@abp/*"], "@volo/*": ["node_modules/@volo/*"], "@proxy": [ "src/app/proxy/index.ts" ], "@proxy/*": [ "src/app/proxy/*" ] }, "useDefineForClassFields": false, "skipLibCheck": true, "allowSyntheticDefaultImports": true }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false }, }
I tried, but same errors.
Hi, I’m upgrading my Angular project: ABP v9.0 -> v9.2.4 Angular v18.0 -> v19.2.17
Now I got these errors in browser console:
An error occurred: NullInjectorError: NullInjectorError: No provider for InjectionToken CORE_OPTIONS! at NullInjector.get (core.mjs:1600:21) at R3Injector.get (core.mjs:2130:27) at R3Injector.get (core.mjs:2130:27) at injectInjectorOnly (core.mjs:1111:28) at ɵɵinject (core.mjs:1117:40) at Object.RestService_Factory [as factory] (abp-ng.core.mjs:1018:56) at core.mjs:2243:35 at runInInjectorProfilerContext (core.mjs:881:5) at R3Injector.hydrate (core.mjs:2242:11) at R3Injector.get (core.mjs:2121:23) handleError @ main.js:21318 (anonymous) @ core.mjs:34987 invoke @ polyfills.js:341 run @ polyfills.js:99 runOutsideAngular @ core.mjs:6297 _callAndReportToErrorHandler @ core.mjs:34987 (anonymous) @ core.mjs:34931 invoke @ polyfills.js:341 onInvoke @ core.mjs:6401 invoke @ polyfills.js:341 run @ polyfills.js:99 run @ core.mjs:6253 bootstrap @ core.mjs:34887 bootstrapModuleFactory @ core.mjs:35035 (anonymous) @ core.mjs:35059 invoke @ polyfills.js:341 run @ polyfills.js:99 (anonymous) @ polyfills.js:2037 invokeTask @ polyfills.js:366 runTask @ polyfills.js:149 drainMicroTaskQueue @ polyfills.js:526 Promise.then nativeScheduleMicroTask @ polyfills.js:506 scheduleMicroTask @ polyfills.js:513 scheduleTask @ polyfills.js:358 scheduleTask @ polyfills.js:188 scheduleMicroTask @ polyfills.js:203 scheduleResolveOrReject @ polyfills.js:2029 then @ polyfills.js:2219 bootstrapModule @ core.mjs:35059 (anonymous) @ main.js:21548 main.js:21548 NullInjectorError: NullInjectorError: No provider for InjectionToken CORE_OPTIONS! at NullInjector.get (core.mjs:1600:21) at R3Injector.get (core.mjs:2130:27) at R3Injector.get (core.mjs:2130:27) at injectInjectorOnly (core.mjs:1111:28) at ɵɵinject (core.mjs:1117:40) at Object.RestService_Factory [as factory] (abp-ng.core.mjs:1018:56) at core.mjs:2243:35 at runInInjectorProfilerContext (core.mjs:881:5) at R3Injector.hydrate (core.mjs:2242:11) at R3Injector.get (core.mjs:2121:23) (anonymous) @ main.js:21548 invoke @ polyfills.js:341 run @ polyfills.js:99 (anonymous) @ polyfills.js:2037 invokeTask @ polyfills.js:366 runTask @ polyfills.js:149 drainMicroTaskQueue @ polyfills.js:526 Promise.then nativeScheduleMicroTask @ polyfills.js:506 scheduleMicroTask @ polyfills.js:513 scheduleTask @ polyfills.js:358 scheduleTask @ polyfills.js:188 scheduleMicroTask @ polyfills.js:203 scheduleResolveOrReject @ polyfills.js:2029 then @ polyfills.js:2219 bootstrapModule @ core.mjs:35059 (anonymous) @ main.js:21548
chunk-CZFTEK6J.js:78 Cannot find the en locale file. You can check how can add new culture at https://abp.io/docs/latest/framework/ui/angular/localization#adding-a-new-culture
app.module.ts
import { CoreModule } from '@abp/ng.core'; import { SettingManagementConfigModule } from '@abp/ng.setting-management/config'; import { HTTP_ERROR_HANDLER, provideAbpThemeShared, ThemeSharedModule, withValidationBluePrint } from '@abp/ng.theme.shared'; import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { IdentityConfigModule } from '@volo/abp.ng.identity/config'; import { CommercialUiConfigModule } from '@volo/abp.commercial.ng.ui/config'; import { AccountAdminConfigModule } from '@volo/abp.ng.account/admin/config'; import { AccountPublicConfigModule } from '@volo/abp.ng.account/public/config'; import { GdprConfigModule } from '@volo/abp.ng.gdpr/config'; import { AuditLoggingConfigModule } from '@volo/abp.ng.audit-logging/config'; import { LanguageManagementConfigModule } from '@volo/abp.ng.language-management/config'; import { registerLocale } from '@volo/abp.ng.language-management/locale'; import { FileManagementConfigModule } from '@volo/abp.ng.file-management/config'; import { SaasConfigModule } from '@volo/abp.ng.saas/config'; import { TextTemplateManagementConfigModule } from '@volo/abp.ng.text-template-management/config'; import { OpeniddictproConfigModule } from '@volo/abp.ng.openiddictpro/config'; import { environment } from '../environments/environment'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { APP_ROUTE_PROVIDER } from './route.provider'; import { FeatureManagementModule } from '@abp/ng.feature-management'; import { HttpErrorComponent, ThemeLeptonXModule } from '@volosoft/abp.ng.theme.lepton-x'; import { SideMenuLayoutModule } from '@volosoft/abp.ng.theme.lepton-x/layouts'; import { AccountLayoutModule } from '@volosoft/abp.ng.theme.lepton-x/account'; import { AbpOAuthModule } from '@abp/ng.oauth'; import { CustomHeaderInterceptor } from './api/custom-header.interceptor'; import { HTTP_INTERCEPTORS } from '@angular/common/http'; import { MarkdownModule } from 'ngx-markdown'; import { handleHttpErrors } from './utils/http-error-handler'; import { FileDescriptorService } from '@volo/abp.ng.file-management/proxy'; import { FileDescriptorExtendedService } from './file/services/file-descriptor-extended.service'; import { providePostHogErrorHandler } from './posthog-error-handler'; @NgModule({ declarations: [AppComponent], imports: [ BrowserModule, BrowserAnimationsModule, AppRoutingModule, CoreModule.forRoot({ environment, registerLocaleFn: registerLocale(), }), AbpOAuthModule.forRoot(), ThemeSharedModule.forRoot({ httpErrorConfig: { errorScreen: { component: HttpErrorComponent, forWhichErrors: [401, 403, 404, 500], hideCloseIcon: true, }, }, }), // AccountAdminConfigModule.forRoot(), AccountPublicConfigModule.forRoot(), CommercialUiConfigModule.forRoot(), GdprConfigModule.forRoot({ privacyPolicyUrl: 'https://www.lexarius.com/privacy-policy', cookiePolicyUrl: 'gdpr-cookie-consent/cookie', }), LanguageManagementConfigModule.forRoot(), FileManagementConfigModule.forRoot(), SaasConfigModule.forRoot(), AuditLoggingConfigModule.forRoot(), OpeniddictproConfigModule.forRoot(), TextTemplateManagementConfigModule.forRoot(), IdentityConfigModule.forRoot(), SettingManagementConfigModule.forRoot(), ThemeLeptonXModule.forRoot(), SideMenuLayoutModule.forRoot(), AccountLayoutModule.forRoot(), FeatureManagementModule.forRoot(), MarkdownModule.forRoot(), ], providers: [ APP_ROUTE_PROVIDER, { provide: HTTP_INTERCEPTORS, useClass: CustomHeaderInterceptor, multi: true, }, { provide: HTTP_ERROR_HANDLER, useValue: handleHttpErrors }, provideAbpThemeShared( withValidationBluePrint({ integer: "::Validation:IntegerOnly", dateRange: "::Validation:DateRangeValidation", }) ), { provide: FileDescriptorService, useClass: FileDescriptorExtendedService }, providePostHogErrorHandler(), ], bootstrap: [AppComponent], }) export class AppModule { }
package.json
{ dependencies": { "@abp/ng.components": "~9.2.4", "@abp/ng.core": "~9.2.4", "@abp/ng.oauth": "~9.2.4", "@abp/ng.setting-management": "~9.2.4", "@abp/ng.theme.shared": "~9.2.4", "@angular/animations": "~19.2.17", "@angular/common": "~19.2.17", "@angular/compiler": "~19.2.17", "@angular/core": "~19.2.17", "@angular/forms": "~19.2.17", "@angular/localize": "~19.2.17", "@angular/platform-browser": "~19.2.17", "@angular/platform-browser-dynamic": "~19.2.17", "@angular/router": "~19.2.17", "@daily-co/daily-js": "^0.83.1", "@microsoft/signalr": "^8.0.7", "@ng-bootstrap/ng-bootstrap": "~18.0.0", "@ng-select/ng-option-highlight": "^14.9.0", "@ng-select/ng-select": "^14.9.0", "@types/luxon": "^3.6.2", "@uppy/angular": "^0.5.0", "@uppy/core": "^3.0.0", "@uppy/drag-drop": "^3.0.0", "@uppy/progress-bar": "^3.0.0", "@uppy/status-bar": "^3.0.0", "@uppy/xhr-upload": "^3.0.0", "@volo/abp.commercial.ng.ui": "~9.2.4", "@volo/abp.ng.account": "~9.2.4", "@volo/abp.ng.audit-logging": "~9.2.4", "@volo/abp.ng.file-management": "~9.2.4", "@volo/abp.ng.gdpr": "~9.2.4", "@volo/abp.ng.identity": "~9.2.4", "@volo/abp.ng.language-management": "~9.2.4", "@volo/abp.ng.openiddictpro": "~9.2.4", "@volo/abp.ng.saas": "~9.2.4", "@volo/abp.ng.text-template-management": "~9.2.4", "@volo/ngx-lepton-x.core": "~4.2.4", "@volosoft/abp.ng.theme.lepton-x": "~4.2.4", "luxon": "^3.6.1", "marked": "^15.0.0", "ngx-bootstrap": "^19.0.2", "ngx-editor": "^19.0.0-beta.1", "ngx-markdown": "^19.1.1", "posthog-js": "1.257.2", "refiner-js": "^1.2.4", "rxjs": "~7.8.0", "zone.js": "~0.15.0" }, "devDependencies": { "@abp/ng.schematics": "~9.2.4", "@angular-builders/custom-webpack": "^19.0.0", "@angular-devkit/build-angular": "~19.2.17", "@angular-eslint/builder": "~19.2.1", "@angular-eslint/eslint-plugin": "~19.2.1", "@angular-eslint/eslint-plugin-template": "~19.2.1", "@angular-eslint/schematics": "~19.2.1", "@angular-eslint/template-parser": "~19.2.1", "@angular/cli": "~19.2.17", "@angular/compiler-cli": "~19.2.17", "@angular/language-service": "~19.2.17", "@babel/runtime": "^7.28.4", "@types/jasmine": "~3.6.0", "@types/node": "^20.0.0", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", "eslint": "^8.0.0", "ignore-loader": "^0.1.2", "jasmine-core": "~4.0.0", "karma": "~6.4.4", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.1.0", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.0.0", "ng-packagr": "~19.2.1", "tslib": "^2.7.0", "typescript": "~5.6.0" }, "resolutions": { "http-proxy-middleware": "3.0.3", "rollup": "4.22.4", "axios": "^1.8.2", "form-data": "^4.0.4", "@nrwl/tao": "19.8.0", "@nrwl/devkit": "19.8.0", "**/@ng-bootstrap/ng-bootstrap": "~18.0.0", "**/ng-zorro-antd": "~19.3.1" } }
Please help me address this issue. Thanks.