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.
System: Mac M2 Pro Max OS Version: 26.4 More Details:"template": "microservice", "versions": { "LeptonX": "5.0.1", "AbpFramework": "10.0.1", "AbpCommercial": "10.0.1", "AbpStudio": "2.1.0", "TargetDotnetFramework": "net9.0" },
In Abp Studio 2.1.4 no issues but after 2.1.4 version, all new versions fails so I always roll back to this old version 2.1.4
Hope some logs could help, it happened with point 2 mentioned above
2026-03-29 11:11:03.911 +05:30 [INF] Starting Studio Backend application 2026-03-29 11:11:04.492 +05:30 [INF] Initialized all ABP modules. 2026-03-29 11:11:04.498 +05:30 [INF] User profile is available. Using '/Users/XXXXXXXX/.aspnet/DataProtection-Keys' as key repository; keys will not be encrypted at rest. 2026-03-29 11:11:04.537 +05:30 [INF] Now listening on: http://localhost:38271 2026-03-29 11:11:04.537 +05:30 [INF] Application started. Press Ctrl+C to shut down. 2026-03-29 11:11:04.537 +05:30 [INF] Hosting environment: Production 2026-03-29 11:11:04.537 +05:30 [INF] Content root path: /Applications/ABP Studio.app/Contents/MacOS 2026-03-29 11:11:04.687 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.703 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.707 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.711 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.754 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.754 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.754 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.754 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.754 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.754 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.777 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.777 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.783 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.783 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.791 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.791 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.791 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.791 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.791 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.791 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:04.792 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioHub/Connect - application/grpc null 2026-03-29 11:11:04.792 +05:30 [INF] Executing endpoint 'gRPC - /IStudioHub/Connect' 2026-03-29 11:11:08.836 +05:30 [INF] Request starting HTTP/2 POST http://localhost:38271/IStudioBackendHub/Connect - application/grpc null 2026-03-29 11:11:08.836 +05:30 [INF] Executing endpoint 'gRPC - /IStudioBackendHub/Connect' 2026-03-29 11:11:08.850 +05:30 [ERR] A hub method handler throws an exception occurred in IStudioHub/HeartbeatAsync System.NullReferenceException: Object reference not set to an instance of an object. at Volo.Abp.Studio.Connectivity.StudioBackendHub.NotifyHeartbeatAsync(ApplicationHeartbeatInfo input) at Volo.Abp.Studio.Connectivity.StudioClientHub.HeartbeatAsync(ApplicationHeartbeatInfo input) at MagicOnion.Server.Hubs.StreamingHubContext.g__Await|43_0(StreamingHubContext ctx, ValueTask value) at MagicOnion.Server.Hubs.StreamingHubBase`2.ConsumeRequestQueueAsync(CancellationToken cancellationToken) 2026-03-29 11:13:02.426 +05:30 [INF] Executed endpoint 'gRPC - /IStudioBackendHub/Connect' 2026-03-29 11:13:02.429 +05:30 [INF] Request finished HTTP/2 POST http://localhost:38271/IStudioBackendHub/Connect - 200 null application/grpc 113591.7155ms 2026-03-29 11:13:02.432 +05:30 [INF] Connection id "0HNKDAN2CRKQV", Request id "0HNKDAN2CRKQV:00000001": the application completed without reading the entire request body. After this crashed
Is it possible to have single table for abpusers and they can be part of multiple tenants where there profile will remain same and few user documents.
abpusers table will exist only in the main db user can login with subdomain of tenant, where it can shared or it's own tenant's personal db in the same server linked accounts switch the user to the other tenants (At the moment with subdomain tenants it is not working, but non-sub-domain tenants it is working)
Is it achievable in abpframework, I know I have to write custom, but where to change the code or start, it will be helpful if you can suggest?

Please note, it use to work with abp framework version: 7.. versions
Temporary Workaround:
Configure<AbpBundlingOptions>(options =>
{
options.Mode = BundlingMode.None;
});
Check the docs before asking a question: https://docs.abp.io/en/commercial/latest/ Check the samples to see the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index 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:
Example:
For Host Domain
Authserver: accounts.test.com Web Server: test.com Api Server: api.test.com
When unauthorized user is making a webcall it calls api.test.com
For Tenant Domain
Authserver: subdomain.accounts.test.com Web Server: subdomain.test.com Tenant Api Server: subdomain.api.test.com
Issue: When unauthorized user is making a webcall from subdomain like subdomain.test.com it calls api.test.com Expected: When unauthorized user is making a webcall from subdomain like subdomain.test.com it should call subdomain.api.test.com
In angular it should not be an issue as it is specificing in the config file {0}.api.test.com
But in MVC it is not working
"RemoteServices": { "Default": { "BaseUrl": "https://{{tenantName}}.api.test.com/" (with or without tenantName interpolation it is not working) } }
I have verified below configuration are correct:
Also, please note api.test.com it works as it is host (Correct Behaviour) subdomain.api.test.com it works as it was created as tenant (Correct Behaviour) wrong.api.test.com it does not work as it was never created as tenant (Correct Behaviour as tenant does not exist with name "wrong")
Please help with temporary workaround or is it a bug?
I have successfully migrated my old framework to the abpframework.
I executed few mysql queries to dump data from old db to abp db and inserted properly.
I managed to generate the new guid using IGuidGenerator for the data that was dumped using the query, I did some tricks during dataseeding process, make list call and then hard delete the list data.
Finally looped the in-memory data and created Guid with IGuidGenerator and in-memory data to improve the performance as well.
I have issue with few tables with concurrencystamp. Please see the screenshot.
public class ClassName : FullAuditedAggregateRoot<Guid>, IMultiTenant
So it has implemented IHasConcurrencyStamp. I can generate random value but is there any existing abp method in c# to generate concurrencystamp?
In DB, ConcurrencyStamp is null