@EngincanV is there also some way to be notified when this issue will be fixed? For example, is there a GitHub issue that we can follow to be notified when it's fixed in an upcoming release?
This is good news. Thanks for isolating the cause of the error. If there's some way for us to be able to see this kind of error output that would help us isolate the cause of the issue that would greatly help us in the future.
As for the specific reason we have a separate custom config file, we observed that the ABP Suite CRUD generator overwrites all customizations to the file (e.g. CoreDbContextModelCreatingExtensions#ConfigureCore
is overwritten on every re-generation).
We want to have overrides to the EF Core configurations so we have a separate CoreCustomDbContextModelCreatingExtensions#ConfigureCoreManually
method to do that. I understand you said to copy over what's auto-generated from the CoreDbContextModelCreatingExtensions
into our customized extensions but is there a recommended approach to actually performing these kind of EF Core customizations after the auto-generated ones?
Thanks, I've sent an email and description to that support email now.
I also sent sumeyye.kurtulus in one of my other tickets an email with a link to my complete project as-is. I can send you this project as well to see if you can reproduce that error on your end? If that's helpful please let me know your email so that I can send it to you privately.
FYI Creating a new DDD module in our project (v9.2.0) called Sample appears to work OK in the ABP Suite CRUD page generator all the way through to step 10 with a simple entity like so:
Sample entity model:
{
"Id": "e59dd991-ab00-49b2-9917-519a83b22167",
"Name": "Sample",
"OriginalName": "Sample",
"NamePlural": "Samples",
"DatabaseTableName": "Samples",
"Namespace": "Samples",
"Type": 1,
"MasterEntityName": null,
"MasterEntity": null,
"BaseClass": "FullAuditedAggregateRoot",
"PageTitle": "Samples",
"MenuIcon": "file-alt",
"PrimaryKeyType": "Guid",
"PreserveCustomCode": true,
"IsMultiTenant": false,
"CheckConcurrency": true,
"BulkDeleteEnabled": true,
"ShouldCreateUserInterface": true,
"ShouldCreateBackend": true,
"ShouldExportExcel": true,
"ShouldAddMigration": true,
"ShouldUpdateDatabase": true,
"CreateTests": true,
"Properties": [
{
"Id": "3d6b9e71-68b2-4f57-bb7b-7b5f92eb06b1",
"Name": "Name",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"DefaultValue": null,
"IsNullable": false,
"IsRequired": false,
"IsFilterable": true,
"AllowEmptyStrings": false,
"IsTextArea": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"ShowOnList": true,
"ShowOnCreateModal": true,
"ShowOnEditModal": true,
"ReadonlyOnEditModal": false,
"EnumValues": null,
"IsSelected": true,
"MaxFileSize": null,
"OrdinalIndex": 0
}
],
"NavigationProperties": [],
"NavigationConnections": [],
"ChildEntities": [],
"PhysicalFileName": "Sample.json"
}
appsettings.json
{
"Id": "4606a7ad-b3c5-4986-8d29-6ad4b4aa0bee",
"Name": "Sample",
"UiFramework": 3,
"ProjectNameWithCompanyName": "Sample",
"OnlyProjectName": "Sample",
"MvcProjectName": "Sample",
"Path": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\Sample.sln",
"RootProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample",
"SrcFolderDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src",
"TestFolderDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test",
"IsMicroserviceNolayerProject": false,
"NolayerProjectDirectory": null,
"NolayerContractsProjectDirectory": null,
"WebProjectDirectory": null,
"DomainProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.Domain",
"DomainSharedProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.Domain.Shared",
"ApplicationProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.Application",
"ApplicationContractsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.Application.Contracts",
"EntityFrameworkCoreProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.EntityFrameworkCore",
"MongoDbProjectDirectory": null,
"EntityFrameworkCoreDbMigrationsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.EntityFrameworkCore",
"MongoDbTestsProjectDirectory": null,
"EntityFrameworkCoreTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test\\Sample.EntityFrameworkCore.Tests",
"DomainTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test\\Sample.Domain.Tests",
"ApplicationTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test\\Sample.Application.Tests",
"TestBaseProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test\\Sample.TestBase",
"MigratorProjectDirectory": null,
"MigratorCsprojFileName": "Sample.DbMigrator.csproj",
"AngularSolutionRootPath": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\angular",
"DefaultNamespace": "Sample",
"DefaultNamespaceAsCamelCase": "sample",
"MigrationsMigrationsDbContext": "SampleMigrationsDbContext",
"TenantMigrationsMigrationsDbContext": "SampleTenantMigrationsDbContext",
"DbContextFilePath": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.EntityFrameworkCore\\EntityFrameworkCore\\ISampleDbContext.cs",
"TenantDbContextFilePath": null,
"DbContextModelCreatingExtensionsFilePath": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.EntityFrameworkCore\\EntityFrameworkCore\\SampleDbContextModelCreatingExtensions.cs",
"HttpApiHostProjectDirectory": null,
"HttpApiProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.HttpApi",
"HttpApiClientProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.HttpApi.Client",
"BlazorProjectDirectory": null,
"MauiBlazorProjectDirectory": null,
"BlazorWebAppProjectDirectory": null,
"StartupProjectDirectory": null,
"StartupProjectName": null,
"DatabaseProvider": 1,
"DatabaseProviderName": "EntityFrameworkCore",
"UiFrameworkName": "Angular",
"ApplicationContractsExists": true,
"MigratorProjectExists": false,
"UpdateDatabaseMethod": 1,
"IsTieredArchitecture": false,
"ActiveDate": "2025-06-20T11:42:38.6839382-06:00",
"ProjectTemplateType": 2,
"AbpVersion": "9.2.0"
}```
FYI Creating a new DDD module in our project (v9.2.0) called Sample appears to work OK in the ABP Suite CRUD page generator all the way through to step 10 with a simple entity like so:
Sample entity model:
{
"Id": "e59dd991-ab00-49b2-9917-519a83b22167",
"Name": "Sample",
"OriginalName": "Sample",
"NamePlural": "Samples",
"DatabaseTableName": "Samples",
"Namespace": "Samples",
"Type": 1,
"MasterEntityName": null,
"MasterEntity": null,
"BaseClass": "FullAuditedAggregateRoot",
"PageTitle": "Samples",
"MenuIcon": "file-alt",
"PrimaryKeyType": "Guid",
"PreserveCustomCode": true,
"IsMultiTenant": false,
"CheckConcurrency": true,
"BulkDeleteEnabled": true,
"ShouldCreateUserInterface": true,
"ShouldCreateBackend": true,
"ShouldExportExcel": true,
"ShouldAddMigration": true,
"ShouldUpdateDatabase": true,
"CreateTests": true,
"Properties": [
{
"Id": "3d6b9e71-68b2-4f57-bb7b-7b5f92eb06b1",
"Name": "Name",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"DefaultValue": null,
"IsNullable": false,
"IsRequired": false,
"IsFilterable": true,
"AllowEmptyStrings": false,
"IsTextArea": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"ShowOnList": true,
"ShowOnCreateModal": true,
"ShowOnEditModal": true,
"ReadonlyOnEditModal": false,
"EnumValues": null,
"IsSelected": true,
"MaxFileSize": null,
"OrdinalIndex": 0
}
],
"NavigationProperties": [],
"NavigationConnections": [],
"ChildEntities": [],
"PhysicalFileName": "Sample.json"
}
appsettings.json
{
"Id": "4606a7ad-b3c5-4986-8d29-6ad4b4aa0bee",
"Name": "Sample",
"UiFramework": 3,
"ProjectNameWithCompanyName": "Sample",
"OnlyProjectName": "Sample",
"MvcProjectName": "Sample",
"Path": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\Sample.sln",
"RootProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample",
"SrcFolderDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src",
"TestFolderDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test",
"IsMicroserviceNolayerProject": false,
"NolayerProjectDirectory": null,
"NolayerContractsProjectDirectory": null,
"WebProjectDirectory": null,
"DomainProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.Domain",
"DomainSharedProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.Domain.Shared",
"ApplicationProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.Application",
"ApplicationContractsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.Application.Contracts",
"EntityFrameworkCoreProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.EntityFrameworkCore",
"MongoDbProjectDirectory": null,
"EntityFrameworkCoreDbMigrationsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.EntityFrameworkCore",
"MongoDbTestsProjectDirectory": null,
"EntityFrameworkCoreTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test\\Sample.EntityFrameworkCore.Tests",
"DomainTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test\\Sample.Domain.Tests",
"ApplicationTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test\\Sample.Application.Tests",
"TestBaseProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\test\\Sample.TestBase",
"MigratorProjectDirectory": null,
"MigratorCsprojFileName": "Sample.DbMigrator.csproj",
"AngularSolutionRootPath": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\angular",
"DefaultNamespace": "Sample",
"DefaultNamespaceAsCamelCase": "sample",
"MigrationsMigrationsDbContext": "SampleMigrationsDbContext",
"TenantMigrationsMigrationsDbContext": "SampleTenantMigrationsDbContext",
"DbContextFilePath": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.EntityFrameworkCore\\EntityFrameworkCore\\ISampleDbContext.cs",
"TenantDbContextFilePath": null,
"DbContextModelCreatingExtensionsFilePath": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.EntityFrameworkCore\\EntityFrameworkCore\\SampleDbContextModelCreatingExtensions.cs",
"HttpApiHostProjectDirectory": null,
"HttpApiProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.HttpApi",
"HttpApiClientProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\sample\\src\\Sample.HttpApi.Client",
"BlazorProjectDirectory": null,
"MauiBlazorProjectDirectory": null,
"BlazorWebAppProjectDirectory": null,
"StartupProjectDirectory": null,
"StartupProjectName": null,
"DatabaseProvider": 1,
"DatabaseProviderName": "EntityFrameworkCore",
"UiFrameworkName": "Angular",
"ApplicationContractsExists": true,
"MigratorProjectExists": false,
"UpdateDatabaseMethod": 1,
"IsTieredArchitecture": false,
"ActiveDate": "2025-06-20T11:42:38.6839382-06:00",
"ProjectTemplateType": 2,
"AbpVersion": "9.2.0"
}
That said, simply removing all the fields except one field from the Employees entity model and attempting to run "Save and generate" still fails with the same error (so perhaps it's related to a config of the "older" DDD modules we have in our project that is somehow different to the newer specification for 9.2.0+ ?)
2025-06-20 11:47:58.080 -06:00 [INF] 1/10 - EntityGenerateCommand started...
2025-06-20 11:47:58.146 -06:00 [ERR] ---------- RemoteServiceErrorInfo ----------
{
"code": null,
"message": "An internal error occurred during your request!",
"details": null,
"data": null,
"validationErrors": null
}
2025-06-20 11:47:58.146 -06:00 [ERR] startIndex ('-1') must be a non-negative value. (Parameter 'startIndex')
Actual value was -1.
System.ArgumentOutOfRangeException: startIndex ('-1') must be a non-negative value. (Parameter 'startIndex')
Actual value was -1.
at System.ArgumentOutOfRangeException.ThrowNegative[T](T value, String paramName)
at System.String.ThrowSubstringArgumentOutOfRange(Int32 startIndex, Int32 length)
at System.String.Substring(Int32 startIndex)
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.CBf4WQwZkH(Boolean , String , String )
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.gb34LXPXOW(Boolean )
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.uuX4U4GI2l()
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.ExecuteAsync(CrudPageCommandOptions options)
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.CommandManager.ExecuteAllAsync(CrudPageCommandOptions options)
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.CrudPageGenerator.GenerateAsync(EntityModel entity, Solution solution, EntityModel masterEntity, List`1 navigationConnections)
at Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync(Guid solutionId, EntityModel entity)
at lambda_method2034(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2025-06-20 11:47:58.152 -06:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'.
2025-06-20 11:47:58.152 -06:00 [INF] Executed action Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite) in 732.5153ms
2025-06-20 11:47:58.152 -06:00 [INF] Executed endpoint 'Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync (Volo.Abp.Suite)'
2025-06-20 11:47:58.152 -06:00 [INF] Request finished HTTP/1.1 POST http://localhost:3000/api/abpSuite/crudPageGenerator/cc238d75-f51b-48f1-b268-c0638d294513/save-and-generate-entity - 500 null application/json; charset=utf-8 732.8687ms
It seems to occur on any module's entities in our solution. However, for your reference, here's one entity metadata from a module that only has this as its single module entity:
Employee.json
{
"Id": "ac358ef6-6621-4939-b402-bc359cc57333",
"Name": "Employee",
"OriginalName": "Employee",
"NamePlural": "Employees",
"DatabaseTableName": "Employees",
"Namespace": "Employees",
"Type": 1,
"MasterEntityName": null,
"MasterEntity": null,
"BaseClass": "FullAuditedAggregateRoot",
"PageTitle": "Employees",
"MenuIcon": "users",
"PrimaryKeyType": "Guid",
"PreserveCustomCode": true,
"IsMultiTenant": true,
"CheckConcurrency": true,
"BulkDeleteEnabled": true,
"ShouldCreateUserInterface": true,
"ShouldCreateBackend": true,
"ShouldExportExcel": true,
"ShouldAddMigration": true,
"ShouldUpdateDatabase": true,
"CreateTests": true,
"Properties": [
{
"Id": "a60e834b-11ca-480d-8749-4fc215676d89",
"Name": "FirstName",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"DefaultValue": null,
"IsNullable": false,
"IsRequired": true,
"IsFilterable": true,
"AllowEmptyStrings": false,
"IsTextArea": false,
"MinLength": null,
"MaxLength": 1023,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"ShowOnList": true,
"ShowOnCreateModal": true,
"ShowOnEditModal": true,
"ReadonlyOnEditModal": false,
"EnumValues": null,
"IsSelected": true,
"MaxFileSize": null,
"OrdinalIndex": 0
},
{
"Id": "6a90e9d6-8a5c-4703-9132-b98e4da2d622",
"Name": "MiddleName",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"DefaultValue": "1023",
"IsNullable": false,
"IsRequired": false,
"IsFilterable": true,
"AllowEmptyStrings": false,
"IsTextArea": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"ShowOnList": true,
"ShowOnCreateModal": true,
"ShowOnEditModal": true,
"ReadonlyOnEditModal": false,
"EnumValues": null,
"IsSelected": true,
"MaxFileSize": null,
"OrdinalIndex": 0
},
{
"Id": "ebfc8fa3-0d72-4d08-abcd-5d211aea8968",
"Name": "LastName",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"DefaultValue": null,
"IsNullable": false,
"IsRequired": true,
"IsFilterable": true,
"AllowEmptyStrings": false,
"IsTextArea": false,
"MinLength": null,
"MaxLength": 1023,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"ShowOnList": true,
"ShowOnCreateModal": true,
"ShowOnEditModal": true,
"ReadonlyOnEditModal": false,
"EnumValues": null,
"IsSelected": true,
"MaxFileSize": null,
"OrdinalIndex": 0
},
{
"Id": "01dcdcdb-76aa-4828-becf-def33aad2c20",
"Name": "IsActive",
"Type": "bool",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"DefaultValue": "true",
"IsNullable": false,
"IsRequired": false,
"IsFilterable": true,
"AllowEmptyStrings": false,
"IsTextArea": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"ShowOnList": true,
"ShowOnCreateModal": true,
"ShowOnEditModal": true,
"ReadonlyOnEditModal": false,
"EnumValues": null,
"IsSelected": true,
"MaxFileSize": null,
"OrdinalIndex": 0
},
{
"Id": "90d3c847-a918-4784-b66a-79f53621197a",
"Name": "EmployeeNumber",
"Type": "string",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"DefaultValue": null,
"IsNullable": false,
"IsRequired": true,
"IsFilterable": true,
"AllowEmptyStrings": false,
"IsTextArea": false,
"MinLength": null,
"MaxLength": 1023,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"ShowOnList": true,
"ShowOnCreateModal": true,
"ShowOnEditModal": true,
"ReadonlyOnEditModal": false,
"EnumValues": null,
"IsSelected": true,
"MaxFileSize": null,
"OrdinalIndex": 0
},
{
"Id": "27b142b5-c1c0-4064-ae22-21e492b22f35",
"Name": "UserId",
"Type": "Guid",
"EnumType": "",
"EnumNamespace": "",
"EnumAngularImport": "shared/enums",
"EnumFilePath": null,
"DefaultValue": null,
"IsNullable": true,
"IsRequired": false,
"IsFilterable": true,
"AllowEmptyStrings": false,
"IsTextArea": false,
"MinLength": null,
"MaxLength": null,
"SortOrder": 0,
"SortType": 0,
"Regex": "",
"EmailValidation": false,
"ShowOnList": true,
"ShowOnCreateModal": true,
"ShowOnEditModal": true,
"ReadonlyOnEditModal": false,
"EnumValues": null,
"IsSelected": true,
"MaxFileSize": null,
"OrdinalIndex": 0
}
],
"NavigationProperties": [],
"NavigationConnections": [],
"ChildEntities": [],
"PhysicalFileName": "Employee.json"
}
appsettings.json (I have cleared and re-generated this and the problem persists):
{
"IsDotnetEfCoreToolInstalled": true,
"Solutions": [
{
"Id": "cc238d75-f51b-48f1-b268-c0638d294513",
"Name": "HumanResources",
"UiFramework": 3,
"ProjectNameWithCompanyName": "HumanResources",
"OnlyProjectName": "HumanResources",
"MvcProjectName": "HumanResources",
"Path": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\HumanResources.sln",
"RootProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources",
"SrcFolderDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src",
"TestFolderDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\test",
"IsMicroserviceNolayerProject": false,
"NolayerProjectDirectory": null,
"NolayerContractsProjectDirectory": null,
"WebProjectDirectory": null,
"DomainProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.Domain",
"DomainSharedProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.Domain.Shared",
"ApplicationProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.Application",
"ApplicationContractsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.Application.Contracts",
"EntityFrameworkCoreProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.EntityFrameworkCore",
"MongoDbProjectDirectory": null,
"EntityFrameworkCoreDbMigrationsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.EntityFrameworkCore",
"MongoDbTestsProjectDirectory": null,
"EntityFrameworkCoreTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\test\\HumanResources.EntityFrameworkCore.Tests",
"DomainTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\test\\HumanResources.Domain.Tests",
"ApplicationTestsProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\test\\HumanResources.Application.Tests",
"TestBaseProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\test\\HumanResources.TestBase",
"MigratorProjectDirectory": null,
"MigratorCsprojFileName": "HumanResources.DbMigrator.csproj",
"AngularSolutionRootPath": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\angular",
"DefaultNamespace": "HumanResources",
"DefaultNamespaceAsCamelCase": "humanResources",
"MigrationsMigrationsDbContext": "HumanResourcesMigrationsDbContext",
"TenantMigrationsMigrationsDbContext": "HumanResourcesTenantMigrationsDbContext",
"DbContextFilePath": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.EntityFrameworkCore\\EntityFrameworkCore\\HumanResourcesDbContext.cs",
"TenantDbContextFilePath": null,
"DbContextModelCreatingExtensionsFilePath": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.EntityFrameworkCore\\EntityFrameworkCore\\HumanResourcesCustomDbContextModelCreatingExtensions.cs",
"HttpApiHostProjectDirectory": null,
"HttpApiProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.HttpApi",
"HttpApiClientProjectDirectory": "C:\\git\\fabwerx\\Fabwerx\\modules\\humanresources\\src\\HumanResources.HttpApi.Client",
"BlazorProjectDirectory": null,
"MauiBlazorProjectDirectory": null,
"BlazorWebAppProjectDirectory": null,
"StartupProjectDirectory": null,
"StartupProjectName": null,
"DatabaseProvider": 1,
"DatabaseProviderName": "EntityFrameworkCore",
"UiFrameworkName": "Angular",
"ApplicationContractsExists": true,
"MigratorProjectExists": false,
"UpdateDatabaseMethod": 1,
"IsTieredArchitecture": false,
"ActiveDate": "2025-06-20T11:24:53.5511006-06:00",
"ProjectTemplateType": 2,
"AbpVersion": "9.2.0"
}
]
}
Just tested it on older 0.9.25 versions and same issue. Also tested on a separate machine. Leads me to believe there's some kind of config file being read in our project that it doesn't like in the backend generation step (unchecking the backend generation step allows the latter steps to continue). Any way I can isolate what file it's encountering that it doesn't like?
I presume it's somewhere in the code in these sections of the Volo ABP Suite although I don't have access to the source code to diagnose it (Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync
):
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.CBf4WQwZkH(Boolean , String , String )
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.gb34LXPXOW(Boolean )
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.uuX4U4GI2l()
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.EntityGenerateCommand.ExecuteAsync(CrudPageCommandOptions options)
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.CommandManager.ExecuteAllAsync(CrudPageCommandOptions options)
at Volo.Abp.Suite.Areas.AbpSuite.CrudPageGenerator.Commands.CrudPageGenerator.GenerateAsync(EntityModel entity, Solution solution, EntityModel masterEntity, List`1 navigationConnections)
at Volo.Abp.Suite.Controllers.CrudPageGeneratorController.SaveAndGenerateEntityAsync(Guid solutionId, EntityModel entity)
at lambda_method2077(Closure, Object)
No, it doesn't seem to be the case for me. It errors at step 1, shows an internal error, and no code is updated. I even tried setting up a new env (new ABP, new clone of repo, etc.) on another machine and I'm getting the same error. I tried even going to prior commits in our history to see if it works but somehow it's still showing this error. I've done a re-install of ABP on this machine and so I don't think the Suite's appsettings.json is the cause for me (since the recent solutions added to Suite was cleared out on re-install).
Any more suggestions? I only noticed this issue when going to ABP Suite 1.0.1 recently in the last week. Is there a way to download an older Suite to see if the issue goes away e.g. 1.0.0 or 0.9.x?
I don't believe the CRUD page generator is actually generating any code successfully because it is crashing before completing even step 1 (out of 10 steps). Is there somehow I can check what is causing the validation to fail that I can check and resolve?