Activities of "DominaTang"

Now I got this exception: main.ts:176 RuntimeError: NG0200: Circular dependency in DI detected for ChangeDetectionScheduler. Find more at https://angular.dev/errors/NG0200 at throwCyclicDependencyError (core.mjs:970:11) at R3Injector.hydrate (core.mjs:2316:17) at R3Injector.get (core.mjs:2189:33) at effect (core.mjs:40806:31) at new AbpTitleStrategy (abp-ng.core.mjs:2136:15) at Object.AbpTitleStrategy_Factory [as factory] (abp-ng.core.mjs:2158:23) at core.mjs:2322:47 at runInInjectorProfilerContext (core.mjs:880:9) at R3Injector.hydrate (core.mjs:2321:21) at R3Injector.get (core.mjs:2189:33)

Does the provider sequence matter?

Move CORE_OPTIONS out side provideAbpCore(), that DI exception is gone. I add more providers for other error, there is final version

bootstrapApplication(AppComponent, {
    providers: [
        provideAppInitializer(appInitializerFactory()),
        provideAbpCore(),
        { provide: TitleStrategy, useClass: DefaultTitleStrategy },
        importProvidersFrom(AppRoutingModule,  ThemeLeptonXModule.forRoot(), ThemeSharedModule),
    
        
    {
      provide: CORE_OPTIONS,
      useValue: {
        environment,
        registerLocaleFn: registerLocale(),
      },
    },
{
  provide: OTHERS_GROUP,
  useValue: 'Others', // <-- this string will be used as the group ID
},
{
  provide: LPX_LAYOUT_STYLE_FINAL,
  useValue: () => {}, // <-- safe default
},

{
      provide: TENANT_KEY,
      useValue: 'Abp.TenantId',
    },
    importProvidersFrom(AccountPublicConfigModule.forRoot(), AccountAdminConfigModule.forRoot(),  IdentityConfigModule.forRoot(), SaasConfigModule.forRoot()),
     
    provideSettingManagementConfig(),
    provideTextTemplateManagementConfig(),
    provideOpeniddictproConfig(),
    provideAuditLoggingConfig(),
    provideLanguageManagementConfig(),
    provideAbpOAuth(),
    
        provideRouter(appRoutes),
        
        { provide: ErrorHandler, useClass: GlobalErrorHandler },
        AuditInterceptorProvider,
        provideAnimations(),
         
        provideHttpClient(withInterceptorsFromDi())
    ]
})
    .catch(err => console.error(err));

Now the error is: ERROR: TypeError: layoutStyles is not iterable at Object.styleLoadFactory [as useFactory] (volo-ngx-lepton-x.core.mjs:1486:30) at Object.factory (core.mjs:2425:38) at core.mjs:2322:47 at runInInjectorProfilerContext (core.mjs:880:9) at R3Injector.hydrate (core.mjs:2321:21) at R3Injector.get (core.mjs:2189:33) at injectInjectorOnly (core.mjs:1116:40) at ɵɵinject (core.mjs:1122:60) at injectArgs (core.mjs:1253:23) at Object.factory (core.mjs:2425:52)

I use command ng generate @angular/core:standalone to migration the application to stand-alone mode.

The bootstrap generated by above command are as below:

bootstrapApplication(AppComponent, {
    providers: [
        importProvidersFrom(BrowserModule, AppRoutingModule, SharedModule, ErrorsModule, RootStoreModule, AppInsightsModule, 
        // ABP related
        CoreModule.forRoot({
            environment,
            registerLocaleFn: registerLocale(),
        }), AbpOAuthModule.forRoot(), AccountAdminConfigModule.forRoot(), AccountPublicConfigModule.forRoot(), IdentityConfigModule.forRoot(), LanguageManagementConfigModule.forRoot(), SaasConfigModule.forRoot(), AuditLoggingConfigModule.forRoot(), OpeniddictproConfigModule.forRoot(), TextTemplateManagementConfigModule.forRoot(), SettingManagementConfigModule.forRoot(), AbpModule),
        // MANAGE_PROFILE_TAB_PROVIDER,
        APP_ROUTE_PROVIDER,
        { provide: APP_INITIALIZER, useFactory: init_AppConfigService, deps: [Injector, AppConfigService], multi: true },
        { provide: ErrorHandler, useClass: GlobalErrorHandler },
        AuditInterceptorProvider,
        provideAnimations(),
        provideHttpClient(withInterceptorsFromDi())
    ]
})
    .catch(err => console.error(err));
})();

When run the application, there is DI circulation error. So I change code to this:

  bootstrapApplication(AppComponent, {
    providers: [
        
   importProvidersFrom(AppRoutingModule, ThemeLeptonXModule.forRoot()),
   /* provideAbpCore(
			withOptions({
				environment,
				registerLocaleFn: registerLocale(),
			}),
		),
    */    
        provideRouter(appRoutes),
        
        { provide: ErrorHandler, useClass: GlobalErrorHandler },
        AuditInterceptorProvider,
        provideAnimations(),
         
        provideHttpClient(withInterceptorsFromDi())
    ]
})
    .catch(err => console.error(err));
})();

I got this exception, I believe LPX_MENU_ITMES is in LPXCoreModule which already imported as provider?

ERROR: NullInjectorError: NullInjectorError: No provider for InjectionToken CORE_OPTIONS! at NullInjector.get (core.mjs:1676:27) at R3Injector.get (core.mjs:2199:33) at R3Injector.get (core.mjs:2199:33) at injectInjectorOnly (core.mjs:1116:40) at Module.ɵɵinject (core.mjs:1122:60) at Object.RestService_Factory [as factory] (abp-ng.core.mjs:56:103) at core.mjs:2322:47 at runInInjectorProfilerContext (core.mjs:880:9) at R3Injector.hydrate (core.mjs:2321:21) at R3Injector.get (core.mjs:2189:33)

If uncomment the lines:

provideAbpCore(
			withOptions({
				environment,
				registerLocaleFn: registerLocale(),
			}),
		),

The exception is: main.ts:82 RuntimeError: NG0200: Circular dependency in DI detected for ChangeDetectionScheduler. Find more at https://angular.dev/errors/NG0200 at throwCyclicDependencyError (core.mjs:970:11) at R3Injector.hydrate (core.mjs:2316:17) at R3Injector.get (core.mjs:2189:33) at effect (core.mjs:40806:31) at new AbpTitleStrategy (abp-ng.core.mjs:2136:15) at Object.AbpTitleStrategy_Factory [as factory] (abp-ng.core.mjs:2158:23)

Hi,

Can you share your Node.js, Yarn and npm versions?

# get node version 
node -v 
 
# get yarn version 
yarn -v 
 
# get npm version 
npm -v 

Check if your node & yarn version matches with Pre-requirements documentation: https://abp.io/docs/latest/get-started/pre-requirements#node-js-and-yarn

ABP uses classic yarn, which is Yarn v1.22+. Make sure this is correct.

Node.js V22.14.0 Yarn 1.22.22 npm 10.9.2

Hi,

I got this build error warning "@volo/abp.ng.account > angularx-qrcode@17.0.1" has incorrect peer dependency "@angular/core@^17.0.0". warning "@volosoft/abp.ng.theme.lepton-x > @ng-bootstrap/ng-bootstrap@17.0.1" has incorrect peer dependency "@angular/common@^18.0.0". warning "@volosoft/abp.ng.theme.lepton-x > @ng-bootstrap/ng-bootstrap@17.0.1" has incorrect peer dependency "@angular/core@^18.0.0". warning "@volosoft/abp.ng.theme.lepton-x > @ng-bootstrap/ng-bootstrap@17.0.1" has incorrect peer dependency "@angular/forms@^18.0.0". warning "@volosoft/abp.ng.theme.lepton-x > @ng-bootstrap/ng-bootstrap@17.0.1" has incorrect peer dependency "@angular/localize@^18.0.0". warning "@volosoft/abp.ng.theme.lepton-x > @ng-bootstrap/ng-bootstrap@17.0.1" has unmet peer dependency "@popperjs/core@^2.11.8".

In my package.json: @volosoft/abp.ng.theme.lepton-x": "4.1.1", "@angular/core": "~19.1.0" ...

Can I above warnings?

Thanks,

<abp-dynamic-layout></abp-dynamic-layout> is in core module

If it possible make Angular project to be stand-alone: true after upgrade to Angular 19.

if yes, what these two components come from which ABP module: <abp-loader-bar></abp-loader-bar> <abp-dynamic-layout></abp-dynamic-layout>

What about new tables created in Administration and Identity MicroService:

public class IdentityServiceDbContext :
AbpDbContext,
IIdentityProDbContext,
IOpenIddictDbContext,
IHasEventInbox,
IHasEventOutbox


public DbSet IncomingEvents { get; set; }
public DbSet OutgoingEvents { get; set; }
Question

Micro Services application.

For the ABP 9 project templated created by ABP studio. There are new micro services created, audit-logging and language. When I upgrade existing ABP 8 solution, do I have to add these two new micro services to solution?

In administration micro service, there are three new connection strings added, do I have to add them when upgrading? "AuditLoggingService": "Server=localhost,1434; User Id=sa; Password=myPassw@rd; Database=Ess_AuditLoggingService; TrustServerCertificate=true; Connect Timeout=240;", "LanguageService": "Server=localhost,1434; User Id=sa; Password=myPassw@rd; Database=Ess_LanguageService; TrustServerCertificate=true; Connect Timeout=240;", "AbpBlobStoring": "Server=localhost,1434; User Id=sa; Password=myPassw@rd; Database=Ess_BlobStoring; TrustServerCertificate=true; Connect Timeout=240;"

In Administration Db context, ABP 9 code:

[ConnectionStringName(DatabaseName)] [ReplaceDbContext( typeof(IPermissionManagementDbContext), typeof(IFeatureManagementDbContext), typeof(ITextTemplateManagementDbContext), typeof(ISettingManagementDbContext) )] public class AdministrationServiceDbContext : AbpDbContext<AdministrationServiceDbContext>, IPermissionManagementDbContext, IFeatureManagementDbContext, ISettingManagementDbContext, ITextTemplateManagementDbContext, IHasEventInbox, IHasEventOutbox

ABP 8 code: [ConnectionStringName(AdministrationServiceDbProperties.ConnectionStringName)] public class AdministrationServiceDbContext : AbpDbContext<AdministrationServiceDbContext>, IPermissionManagementDbContext, ISettingManagementDbContext, IFeatureManagementDbContext, IAuditLoggingDbContext, ILanguageManagementDbContext, ITextTemplateManagementDbContext, IBlobStoringDbContext

Do I have to modify DbConext accordingly?

Switching to Cosmos DB (Mongo version) is very simply, just change connection string. the code seems working. Encryption seems not that easy.

Hi, as @berkansasmaz mentioned we don't have experience with CosmosDB much. But it should be possible because we are only abstracting some key points on the MongoDB side, everything you can do with a plain .NET application with MongoDB provider, you can do it with an ABP-based application.

So, to better assist you, can you share what you've tried so far, what are your steps, and at which point you need our help? (please provide any information that think can help us to guide you better).

Since, this is not an official provider provided by us, these information will help us answer better. Thanks for your understanding and waiting for details from you.

Regards.

No worried, This is my understanding too. For the generic implementation that fit Mongo DB and Cosmos DB, there wouldn't have specific implementation for Cosmos DB's special feature. We can close this ticket.

Showing 71 to 80 of 184 entries
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.1.0-preview. Updated on November 04, 2025, 06:41