Hello,
I used ABP CLI to create the latest version of the project, and the following is a detailed command line: abp new LaunchX -u angular -dbms PostgreSQL -m maui --separate-auth-server --theme leptonx --pwa -csf --public-website
the project name is LaunchX and I created this project on October 21, 2024
After following the steps to get the project running smoothly, I tried to create a new user and encountered the following problem:
Step 1. Input User information

Http Requests information on ABP Studio

I hope you can help me check if the following is in the account There is a bug in Pro. Many Thanks.
Check the docs before asking a question: https://abp.io/docs/latest Check the samples to see the basic tasks: https://abp.io/docs/latest/samples The exact solution to your question may have been answered before, and please first use the search on the homepage.
Provide us with the following info:
🧐 Hint: If you are using the ABP Studio, you can see all the information about your solution from the configuration window, which opens when you right-click on the solution and click on the Solution Configuration button.

Check the docs before asking a question: https://abp.io/docs/latest Check the samples to see the basic tasks: https://abp.io/docs/latest/samples The exact solution to your question may have been answered before, and please first use the search on the homepage.
Provide us with the following info:
🧐 Hint: If you are using the ABP Studio, you can see all the information about your solution from the configuration window, which opens when you right-click on the solution and click on the Solution Configuration button.
Template: app
Created ABP Studio Version: 0.9.26
Current ABP Studio Version: 0.9.26
Tiered: Yes
Multi-Tenancy: No
UI Framework: angular
Theme: leptonx
Theme Style: system
Theme Menu Placement: side
Run Install Libs: Yes
Progressive Web App: No
Run Progressive Web App Support: No
Database Provider: ef
Database Management System: postgresql
Separate Tenant Schema: No
Create Initial Migration: Yes
Run Db Migrator: Yes
Mobile Framework: maui
Public Website: Yes
Social Login: No
Include Tests: Yes
Kubernetes Configuration: Yes
Distributed Event Bus: rabbitmq
Use Local References: No
Optional Modules:
Create Command: abp new AbpModularSolution1 -t app --tiered --ui-framework angular --mobile maui --database-provider ef --database-management-system postgresql --theme leptonx --public-website --without-cms-kit --dont-run-bundling --no-multi-tenancy --no-social-logins -no-saas -chat
Exception message and full stack trace:
1)Exception Screenshot:

2)full stack trace:
System.InvalidOperationException
HResult=0x80131509
Message=The entity type 'ExtraPropertyDictionary' requires a primary key to be defined. If you intended to use a keyless entity type, call 'HasNoKey' in 'OnModelCreating'. For more information on keyless entity types, see https://go.microsoft.com/fwlink/?linkid=2141943.
Source=Microsoft.EntityFrameworkCore
StackTrace:
在 Microsoft.EntityFrameworkCore.Infrastructure.ModelValidator.ValidateNonNullPrimaryKeys(IModel model, IDiagnosticsLogger1 logger) 在 Microsoft.EntityFrameworkCore.Infrastructure.ModelValidator.Validate(IModel model, IDiagnosticsLogger1 logger)
在 Microsoft.EntityFrameworkCore.Infrastructure.RelationalModelValidator.Validate(IModel model, IDiagnosticsLogger1 logger) 在 Npgsql.EntityFrameworkCore.PostgreSQL.Infrastructure.Internal.NpgsqlModelValidator.Validate(IModel model, IDiagnosticsLogger1 logger)
在 Microsoft.EntityFrameworkCore.Infrastructure.ModelRuntimeInitializer.Initialize(IModel model, Boolean designTime, IDiagnosticsLogger1 validationLogger) 在 Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext context, ModelCreationDependencies modelCreationDependencies, Boolean designTime) 在 Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(DbContext context, ModelCreationDependencies modelCreationDependencies, Boolean designTime) 在 Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel(Boolean designTime) 在 Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model() 在 Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServicesBuilder.<>c.<TryAddCoreServices>b__8_4(IServiceProvider p) 在 Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType) 在 Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) 在 Volo.Abp.EntityFrameworkCore.AbpDbContextOptionsExtension.<>c__DisplayClass0_0.<ApplyServices>b__1(IServiceProvider provider) 在 Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType) 在 Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) 在 Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider) 在 Microsoft.EntityFrameworkCore.DbContext.get_ContextServices() 在 Microsoft.EntityFrameworkCore.DbContext.get_ChangeTracker() 在 Volo.Abp.EntityFrameworkCore.AbpDbContext1.Initialize(AbpEfCoreDbContextInitializationContext initializationContext)
在 Volo.Abp.Uow.EntityFrameworkCore.UnitOfWorkDbContextProvider1.<CreateDbContextAsync>d__14.MoveNext() 在 Volo.Abp.Uow.EntityFrameworkCore.UnitOfWorkDbContextProvider1.d__12.MoveNext()
在 Volo.Abp.Domain.Repositories.EntityFrameworkCore.EfCoreRepository2.<GetDbSetAsync>d__10.MoveNext() 在 Abm.TestModule.Hellos.EfCoreHelloRepositoryBase.<GetQueryForNavigationPropertiesAsync>d__4.MoveNext() 在 D:\workspace\source\LaunchX Platform\TestSolutions\AbpModularSolution1\modules\abm.testmodule\src\Abm.TestModule.EntityFrameworkCore\Hellos\EfCoreHelloRepository.cs 中: 第 68 行 在 Abm.TestModule.Hellos.EfCoreHelloRepositoryBase.<GetCountAsync>d__7.MoveNext() 在 D:\workspace\source\LaunchX Platform\TestSolutions\AbpModularSolution1\modules\abm.testmodule\src\Abm.TestModule.EntityFrameworkCore\Hellos\EfCoreHelloRepository.cs 中: 第 113 行 在 Castle.DynamicProxy.AsyncInterceptorBase.<ProceedAsynchronous>d__141.MoveNext()
在 Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.<ProceedAsync>d__7.MoveNext() 在 Volo.Abp.Uow.UnitOfWorkInterceptor.<InterceptAsync>d__2.MoveNext() 在 Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.d__31.MoveNext() 在 Abm.TestModule.Hellos.HellosAppServiceBase.<GetListAsync>d__5.MoveNext() 在 D:\workspace\source\LaunchX Platform\TestSolutions\AbpModularSolution1\modules\abm.testmodule\src\Abm.TestModule.Application\Hellos\HellosAppService.cs 中: 第 45 行 在 Castle.DynamicProxy.AsyncInterceptorBase.<ProceedAsynchronous>d__141.MoveNext()
在 Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue1.<ProceedAsync>d__7.MoveNext() 在 Volo.Abp.GlobalFeatures.GlobalFeatureInterceptor.<InterceptAsync>d__0.MoveNext() 在 Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter1.d__31.MoveNext() 在 Castle.DynamicProxy.AsyncInterceptorBase.<ProceedAsynchronous>d__141.MoveNext()
在 Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.d__7.MoveNext()
在 Volo.Abp.Auditing.AuditingInterceptor.d__4.MoveNext()
Step 2: create folder named modules

Step 3: create DDD Module name Abm.TestModule under the modules folder

Step 4: Imports Volo.Abp.Identity.Pro(9.1.1)

Step 5: use abp suite to create a basic entity name Hello and Add properties ( Name & description)

Step 6: Add Navigation property(1-n) for Hello entity, I picked IdentityUserId from Volo.Abp.Identity and Click Save and generate.

Step 7: Import Abm.TestModule to AbpModularSolution1

Step 8: Add Migration and Update Database for EntityFrameworkCore package

Step 9: Start Redis & AbpModularSolution1.AuthServer & HttpApi.Host & Angular

Step 10. Login and Click TestModule>Hellos menu, the system turns error messages.

I followed your instructions to check the code and it meets the requirements. The following are two code blocks: 1)OnModelCreating
[ConnectionStringName(TestModuleDbProperties.ConnectionStringName)]
public class TestModuleDbContext : AbpDbContext<TestModuleDbContext>, ITestModuleDbContext
{
public DbSet<Hello> Hellos { get; set; } = null!;
/* Add DbSet for each Aggregate Root here. Example:
* public DbSet<Question> Questions { get; set; }
*/
public TestModuleDbContext(DbContextOptions<TestModuleDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.ConfigureTestModule();
}
}
2)ConfigureTestModule
public static class TestModuleDbContextModelCreatingExtensions
{
public static void ConfigureTestModule(
this ModelBuilder builder)
{
Check.NotNull(builder, nameof(builder));
/* Configure all entities here. Example:
builder.Entity<Question>(b =>
{
//Configure table & schema name
b.ToTable(TestModuleDbProperties.DbTablePrefix + "Questions", TestModuleDbProperties.DbSchema);
b.ConfigureByConvention();
//Properties
b.Property(q => q.Title).IsRequired().HasMaxLength(QuestionConsts.MaxTitleLength);
//Relations
b.HasMany(question => question.Tags).WithOne().HasForeignKey(qt => qt.QuestionId);
//Indexes
b.HasIndex(q => q.CreationTime);
});
*/
if (builder.IsHostDatabase())
{
}
if (builder.IsHostDatabase())
{
builder.Entity<Hello>(b =>
{
b.ToTable(TestModuleDbProperties.DbTablePrefix + "Hellos", TestModuleDbProperties.DbSchema);
b.ConfigureByConvention();
b.Property(x => x.Name).HasColumnName(nameof(Hello.Name)).IsRequired().HasMaxLength(HelloConsts.NameMaxLength);
b.Property(x => x.Description).HasColumnName(nameof(Hello.Description));
b.HasOne<IdentityUser>().WithMany().IsRequired().HasForeignKey(x => x.IdentityUserId).OnDelete(DeleteBehavior.NoAction);
});
}
}
}
Is it caused by the development environment? My Abp Suite version is v9.1.1
AbpModularSolution1DbContext Code:
[ReplaceDbContext(typeof(IIdentityProDbContext))]
[ConnectionStringName("Default")]
public class AbpModularSolution1DbContext :
AbpDbContext<AbpModularSolution1DbContext>,
IIdentityProDbContext
{
/* Add DbSet properties for your Aggregate Roots / Entities here. */
#region Entities from the modules
/* Notice: We only implemented IIdentityProDbContext
* and replaced them for this DbContext. This allows you to perform JOIN
* queries for the entities of these modules over the repositories easily. You
* typically don't need that for other modules. But, if you need, you can
* implement the DbContext interface of the needed module and use ReplaceDbContext
* attribute just like IIdentityProDbContext .
*
* More info: Replacing a DbContext of a module ensures that the related module
* uses this DbContext on runtime. Otherwise, it will use its own DbContext class.
*/
// Identity
public DbSet<IdentityUser> Users { get; set; }
public DbSet<IdentityRole> Roles { get; set; }
public DbSet<IdentityClaimType> ClaimTypes { get; set; }
public DbSet<OrganizationUnit> OrganizationUnits { get; set; }
public DbSet<IdentitySecurityLog> SecurityLogs { get; set; }
public DbSet<IdentityLinkUser> LinkUsers { get; set; }
public DbSet<IdentityUserDelegation> UserDelegations { get; set; }
public DbSet<IdentitySession> Sessions { get; set; }
#endregion
public AbpModularSolution1DbContext(DbContextOptions<AbpModularSolution1DbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
builder.ConfigureTestModule();
/* Include modules to your migration db context */
builder.ConfigurePermissionManagement();
builder.ConfigureSettingManagement();
builder.ConfigureBackgroundJobs();
builder.ConfigureAuditLogging();
builder.ConfigureFeatureManagement();
builder.ConfigureIdentityPro();
builder.ConfigureOpenIddictPro();
builder.ConfigureLanguageManagement();
builder.ConfigureFileManagement();
builder.ConfigureChat();
builder.ConfigureTextTemplateManagement();
builder.ConfigureGdpr();
builder.ConfigureBlobStoring();
/* Configure your own tables/entities inside here */
//builder.Entity<YourEntity>(b =>
//{
// b.ToTable(AbpModularSolution1Consts.DbTablePrefix + "YourEntities", AbpModularSolution1Consts.DbSchema);
// b.ConfigureByConvention(); //auto configure for the base class props
// //...
//});
}
}
Check the docs before asking a question: https://abp.io/docs/latest Check the samples to see the basic tasks: https://abp.io/docs/latest/samples The exact solution to your question may have been answered before, and please first use the search on the homepage.
Provide us with the following info:
🧐 Hint: If you are using the ABP Studio, you can see all the information about your solution from the configuration window, which opens when you right-click on the solution and click on the Solution Configuration button.
Template: app-nolayers
Created ABP Studio Version: 0.9.26
Current ABP Studio Version: 0.9.26
Multi-Tenancy: No
UI Framework: mvc
Theme: leptonx
Theme Style: system
Theme Menu Placement: side
Run Install Libs: Yes
Database Provider: ef
Database Management System: postgresql
Create Initial Migration: Yes
Run Db Migrator: Yes
Social Login: No
Use Local References: No
Optional Modules:
Create Command: abp new LaunchX.AuthServer -t app-nolayers --ui-framework mvc --mobile --database-provider ef --database-management-system postgresql --theme leptonx --no-tests --without-cms-kit --dont-run-bundling --no-multi-tenancy --no-social-logins -no-saas -no-file-management
Exception message and full stack trace:
Before modifying the port, the authorization service runs normally:

after I changed the port from 44300 to 4000, it not work!

appsettings.json configuration:
{
"App": {
"SelfUrl": "https://localhost:4000",
"CorsOrigins": "http://localhost:4200,https://localhost:44334,https://localhost:44303",
"HealthCheckUrl": "/health-status"
},
"ConnectionStrings": {
"Default": "Host=localhost;Port=5432;Database=A_AuthServer;User ID=post;Password=pos;"
},
"AuthServer": {
"Authority": "https://localhost:4000",
"CertificatePassPhrase": "505ce01d-d074-4e0d-8cf0-1cffd6d5187b"
},
"Settings": {
"Abp.Identity.Password.RequireNonAlphanumeric": "false",
"Abp.Identity.Password.RequireLowercase": "false",
"Abp.Identity.Password.RequireUppercase": "false",
"Abp.Identity.Password.RequireDigit": "false"
},
"StringEncryption": {
"DefaultPassPhrase": "8r1vt8i7phv1x3Sc"
}
}
launchSettings.json configuration:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "https://localhost:4000/",
"sslPort": 4000
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"LaunchX.AuthServer": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:4000/"
}
}
}
I checked the usage status of the port and found that port 4000 is not occupied.

Is there any other configuration missing?
感谢回复,etc处把端口调整过来之后abp studio中的端口显示就恢复正常了。
VS通过IIS Express运行的方式暂时还不行,调整为对应项目就可以了,可能IIS Express的限制

你创建的troubleshoot problems文章很不错,最近碰到通过模块化开发创建的模块在导入安装之后碰到了一些问题,之前碰到貌似没有解决,是否可以帮忙参谋一下,这个是Ticket链接(ID:9317): https://abp.io/support/questions/9317/Modular-development-with-Abp-Suite-encountered-an-exception--The-entity-type-%27ExtraPropertyDictionary%27-requires-a-primary-key-to-be-defined
Check the docs before asking a question: https://abp.io/docs/latest Check the samples to see the basic tasks: https://abp.io/docs/latest/samples The exact solution to your question may have been answered before, and please first use the search on the homepage.
Provide us with the following info:
🧐 Hint: If you are using the ABP Studio, you can see all the information about your solution from the configuration window, which opens when you right-click on the solution and click on the Solution Configuration button.
Template: app-nolayers
Created ABP Studio Version: 1.1.2
Current ABP Studio Version: 1.1.2
Multi-Tenancy: Yes
UI Framework: angular
Theme: leptonx
Theme Style: system
Theme Menu Placement: side
Run Install Libs: Yes
Database Provider: ef
Database Management System: sqlserver
Create Initial Migration: Yes
Run Db Migrator: Yes
Social Login: No
Use Local References: No
Optional Modules:
Selected Languages: English, 简体中文
Default Language: English
Create Command: abp new AbpSolution2 -t app-nolayers --ui-framework angular --mobile --database-provider ef --database-management-system sqlserver --theme leptonx --no-tests --without-cms-kit --dont-run-bundling --no-social-logins -file-management
Exception message and full stack trace:
Steps to reproduce the issue:
尝试新建HelloWord类,包含Name,Code,Descrition3个字段,生成过程的截图:

是升级之后导致的吗?该如何解决?
[AI-Bot] said:
你遇到的 ABP Suite 代码生成极慢问题(如生成实体、仓储等步骤耗时数分钟),在 ABP 社区中有类似反馈,且官方已给出排查建议。
该问题常见原因:
- 解决方案目录下存在大量无关文件(如 node_modules、bin、obj、.git 等),导致 Suite 在扫描和生成代码时极度缓慢。
- 代码生成时 ABP Suite 会递归遍历整个解决方案目录,若有大量大文件或无关目录,会严重拖慢速度。
解决办法:
- 请确保你的解决方案目录下没有 node_modules、bin、obj、.git 等体积大或无关的目录。可以将这些目录移出解决方案目录,或在 .abpignore 文件中排除它们。
- 建议在 ABP Suite 代码生成前,清理无关目录,仅保留必要的项目文件。
- 参考官方支持帖的详细说明和后续建议:ABP Suite CRUD Generator: startIndex must be non-negative
该问题并非 v9.2.3 升级特有,而是与目录结构和文件数量密切相关。清理目录后,代码生成速度会显著提升。
参考链接(已验证):
- https://abp.io/support/questions/9489
This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.
以上使用的是测试项目,非老项目,不存在以上表述的存在大量无关文件等原因,还请技术支持帮忙看看。