Open Closed

Angular is not creating when in solution ? #10390


User avatar
0
erkan.uci created

Hi. I just upgraded ABP Studio. I created a new Angular-based project, but the Angular folder was not created in the project directory. Is this expected?


8 Answer(s)
  • User Avatar
    0
    AI-Bot created
    Support Team ABP Agent

    It’s not expected for an Angular UI solution to be created without an angular folder.

    In ABP solution templates, when you select UI: Angular, the generated solution should include an angular directory at the root (this is where the Angular client-side app lives). If it’s missing after creating the solution in ABP Studio, it usually means the UI part was not generated/downloaded successfully during creation (e.g., a failed/blocked “install/generate frontend” step).

    What you can do (safe steps that don’t change your backend structure):

    1. Create the solution again with the same options, and ensure ABP Studio completes all steps (especially the frontend generation / npm-yarn install steps if you enabled them).
    2. If ABP Studio has an option like “Run Install Libs” / “Install packages”, enable it and re-create (or re-run the related step if the UI shows it).
    3. As a workaround, you can generate the same solution using the CLI (abp new ... -u angular) and compare outputs; the Angular folder should be there in the CLI-generated structure too.

    If ABP Studio consistently creates the backend but skips Angular generation, it’s a Studio-side issue/regression after the upgrade.

    • https://abp.io/studio
    • https://abp.io/docs/latest/solution-templates/application-module/

    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.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    What is your Studio version?

    Can you share the MyProjectName.abpsln file?

    liming.ma@volosoft.com

    Thanks.

  • User Avatar
    0
    erkan.uci created

    { "id": "0dd1b4ae-d44c-4734-8454-1d0331b04524", "template": "microservice", "versions": { "LeptonX": "5.0.2", "AbpFramework": "10.0.2", "AbpCommercial": "10.0.2", "AbpStudio": "2.1.9", "TargetDotnetFramework": "net10.0" }, "folders": { "items": { "services": {}, "apps": {}, "gateways": {}, "aspire": {}

    }
    

    }, "defaultRunProfile": "Default", "runProfiles": { "Default": { "path": "etc/abp-studio/run-profiles/Default.abprun.json" }, "Aspire": { "path": "etc/abp-studio/run-profiles/Aspire.abprun.json" } }, "modules": { "VentraHubStructure.AdministrationService": { "path": "services/administration/VentraHubStructure.AdministrationService.abpmdl", "folder": "services" }, "VentraHubStructure.IdentityService": { "path": "services/identity/VentraHubStructure.IdentityService.abpmdl", "folder": "services" }, "VentraHubStructure.Web.Public": { "path": "apps/public/VentraHubStructure.Web.Public.abpmdl", "folder": "apps" }, "VentraHubStructure.PublicGateway": { "path": "gateways/public/VentraHubStructure.PublicGateway.abpmdl", "folder": "gateways" }, "VentraHubStructure.SaasService": { "path": "services/saas/VentraHubStructure.SaasService.abpmdl", "folder": "services" }, "VentraHubStructure.ChatService": { "path": "services/chat/VentraHubStructure.ChatService.abpmdl", "folder": "services" }, "VentraHubStructure.AuditLoggingService": { "path": "services/audit-logging/VentraHubStructure.AuditLoggingService.abpmdl", "folder": "services" }, "VentraHubStructure.GdprService": { "path": "services/gdpr/VentraHubStructure.GdprService.abpmdl", "folder": "services" }, "VentraHubStructure.FileManagementService": { "path": "services/file-management/VentraHubStructure.FileManagementService.abpmdl", "folder": "services" }, "VentraHubStructure.LanguageService": { "path": "services/language/VentraHubStructure.LanguageService.abpmdl", "folder": "services" }, "VentraHubStructure.MobileGateway": { "path": "gateways/mobile/VentraHubStructure.MobileGateway.abpmdl", "folder": "gateways" }, "VentraHubStructure.AuthServer": { "path": "apps/auth-server/VentraHubStructure.AuthServer.abpmdl", "folder": "apps" }, "VentraHubStructure.WebGateway": { "path": "gateways/web/VentraHubStructure.WebGateway.abpmdl", "folder": "gateways" }, "VentraHubStructure.AppHost": { "path": "aspire/app-host/VentraHubStructure.AppHost.abpmdl", "folder": "aspire" }, "VentraHubStructure.ServiceDefaults": { "path": "aspire/service-defaults/VentraHubStructure.ServiceDefaults.abpmdl", "folder": "aspire" }, }, "k8sProfiles": { "local": { "path": "etc/abp-studio/k8s-profiles/local.abpk8s.json" } }, "commands": { "helmBuildDotnetImage": { "triggerTargets": [ "HELM_CHARTS_ROOT", "HELM_MAIN_CHART", "HELM_SUB_CHART" ], "executionTargets": [ "HELM_MAIN_CHART", "HELM_SUB_CHART" ], "displayName": "Build Docker Image(s)", "workingDirectory": "etc/helm", "terminalCommand": "./build-image.ps1 -ProjectPath {{metadata.projectPath}} -ImageName {{metadata.imageName}} -ProjectType {{metadata.projectType}}", "condition": "{{metadata.projectPath != null && metadata.imageName != null && metadata.projectType != null}}" }, "helmInstallChart": { "triggerTargets": [ "HELM_CHARTS_ROOT", "HELM_MAIN_CHART" ], "executionTargets": [ "HELM_MAIN_CHART" ], "displayName": "Install Chart(s)", "workingDirectory": "etc/helm", "terminalCommand": "./install.ps1 -ChartName {{chart.name}} -Namespace {{profile.namespace}} -ReleaseName {{chart.name}}-{{profile.name}} -DotnetEnvironment {{metadata.dotnetEnvironment}} {{~if metadata.k8ssuffix}} -User {{metadata.k8ssuffix}}{{end}}", "requireConfirmation": "true", "confirmationText": "Are you sure to install the chart(s) for the profile {{ profile.name }}?" }, "helmUninstallChart": { "triggerTargets": [ "HELM_CHARTS_ROOT", "HELM_MAIN_CHART" ], "executionTargets": [ "HELM_MAIN_CHART" ], "displayName": "Uninstall Chart(s)", "workingDirectory": "etc/helm", "terminalCommand": "./uninstall.ps1 -Namespace {{profile.namespace}} -ReleaseName {{chart.name}}-{{profile.name}} {{~if metadata.k8ssuffix}} -User {{metadata.k8ssuffix}}{{end}}", "requireConfirmation": "true", "confirmationText": "Are you sure to uninstall the chart(s) for the profile {{profile.name}}?" }, "kubernetesRedeploy": { "triggerTargets": [ "KUBERNETES_SERVICE" ], "executionTargets": [ "KUBERNETES_SERVICE" ], "displayName": "Redeploy", "workingDirectory": "etc/helm", "terminalCommand": "./build-image.ps1 -ProjectPath {{chart.metadata.projectPath}} -ImageName {{chart.metadata.imageName}} -ProjectType {{chart.metadata.projectType}} &&& ./install.ps1 -ChartName {{mainChart.name}} -Namespace {{profile.namespace}} -ReleaseName {{mainChart.name}}-{{profile.name}} -DotnetEnvironment {{mainChart.metadata.dotnetEnvironment}} {{~if metadata.k8ssuffix}} -User {{metadata.k8ssuffix}}{{end}}", "requireConfirmation": "true", "confirmationText": "Are you sure to redeploy the related chart '{{chart.name}}' for the service '{{name}}'?", "condition": "{{chart != null && chart.metadata.projectPath != null && chart.metadata.imageName != null && chart.metadata.projectType != null}}" }, "createTlsSecret": { "triggerTargets": [ "HELM_CHARTS_ROOT" ], "executionTargets": [ "HELM_CHARTS_ROOT" ], "displayName": "Create Self-Signed TLS secret", "workingDirectory": "etc/helm", "terminalCommand": "./create-tls-secrets.ps1 -Namespace {{profile.namespace}} {{~if metadata.k8ssuffix}} -User {{metadata.k8ssuffix}}{{end}}" } }, "helm": { "charts": { "ventrahubstructure": { "name": "ventrahubstructure", "path": "etc/helm/ventrahubstructure", "charts": { "administration": { "name": "administration", "path": "etc/helm/ventrahubstructure/charts/administration", "metadata": { "projectPath": "../../services/administration/VentraHubStructure.AdministrationService/VentraHubStructure.AdministrationService.csproj", "imageName": "ventrahubstructure/administration", "projectType": "dotnet" }, "services": [ ".-administration$" ] }, "angular": { "name": "angular", "path": "etc/helm/ventrahubstructure/charts/angular", "metadata": { "projectPath": "../../apps/angular", "imageName": "ventrahubstructure/angular", "projectType": "angular" }, "services": [ ".-angular$" ] }, "auditlogging": { "name": "auditlogging", "path": "etc/helm/ventrahubstructure/charts/auditlogging", "metadata": { "projectPath": "../../services/audit-logging/VentraHubStructure.AuditLoggingService/VentraHubStructure.AuditLoggingService.csproj", "imageName": "ventrahubstructure/auditlogging", "projectType": "dotnet" }, "services": [ ".-auditlogging$" ] }, "authserver": { "name": "authserver", "path": "etc/helm/ventrahubstructure/charts/authserver", "metadata": { "projectPath": "../../apps/auth-server/VentraHubStructure.AuthServer/VentraHubStructure.AuthServer.csproj", "imageName": "ventrahubstructure/authserver", "projectType": "dotnet" }, "services": [ ".-authserver$" ] }, "chat": { "name": "chat", "path": "etc/helm/ventrahubstructure/charts/chat", "metadata": { "projectPath": "../../services/chat/VentraHubStructure.ChatService/VentraHubStructure.ChatService.csproj", "imageName": "ventrahubstructure/chat", "projectType": "dotnet" }, "services": [ ".-chat$" ] }, "elasticsearch": { "name": "elasticsearch", "path": "etc/helm/ventrahubstructure/charts/elasticsearch", "metadata": {} }, "filemanagement": { "name": "filemanagement", "path": "etc/helm/ventrahubstructure/charts/filemanagement", "metadata": { "projectPath": "../../services/file-management/VentraHubStructure.FileManagementService/VentraHubStructure.FileManagementService.csproj", "imageName": "ventrahubstructure/filemanagement", "projectType": "dotnet" }, "services": [ ".-filemanagement" ] }, "language": { "name": "language", "path": "etc/helm/ventrahubstructure/charts/language", "metadata": { "projectPath": "../../services/language/VentraHubStructure.LanguageService/VentraHubStructure.LanguageService.csproj", "imageName": "ventrahubstructure/language", "projectType": "dotnet" }, "services": [ ".-language" ] }, "gdpr": { "name": "gdpr", "path": "etc/helm/ventrahubstructure/charts/gdpr", "metadata": { "projectPath": "../../services/gdpr/VentraHubStructure.GdprService/VentraHubStructure.GdprService.csproj", "imageName": "ventrahubstructure/gdpr", "projectType": "dotnet" }, "services": [ ".-gdpr$" ] }, "grafana": { "name": "grafana", "path": "etc/helm/ventrahubstructure/charts/grafana", "metadata": {}, "services": [ ".-grafana$" ] }, "identity": { "name": "identity", "path": "etc/helm/ventrahubstructure/charts/identity", "metadata": { "projectPath": "../../services/identity/VentraHubStructure.IdentityService/VentraHubStructure.IdentityService.csproj", "imageName": "ventrahubstructure/identity", "projectType": "dotnet" }, "services": [ ".-identity$" ] }, "kibana": { "name": "kibana", "path": "etc/helm/ventrahubstructure/charts/kibana", "metadata": {}, "services": [ ".-kibana$" ] }, "mobilegateway": { "name": "mobilegateway", "path": "etc/helm/ventrahubstructure/charts/mobilegateway", "metadata": { "projectPath": "../../gateways/mobile/VentraHubStructure.MobileGateway/VentraHubStructure.MobileGateway.csproj", "imageName": "ventrahubstructure/mobilegateway", "projectType": "dotnet" }, "services": [ ".-mobilegateway$" ] }, "prometheus": { "name": "prometheus", "path": "etc/helm/ventrahubstructure/charts/prometheus", "metadata": {} }, "publicgateway": { "name": "publicgateway", "path": "etc/helm/ventrahubstructure/charts/publicgateway", "metadata": { "projectPath": "../../gateways/public/VentraHubStructure.PublicGateway/VentraHubStructure.PublicGateway.csproj", "imageName": "ventrahubstructure/publicgateway", "projectType": "dotnet" }, "services": [ ".-publicgateway$" ] }, "rabbitmq": { "name": "rabbitmq", "path": "etc/helm/ventrahubstructure/charts/rabbitmq" }, "redis": { "name": "redis", "path": "etc/helm/ventrahubstructure/charts/redis" }, "saas": { "name": "saas", "path": "etc/helm/ventrahubstructure/charts/saas", "metadata": { "projectPath": "../../services/saas/VentraHubStructure.SaasService/VentraHubStructure.SaasService.csproj", "imageName": "ventrahubstructure/saas", "projectType": "dotnet" }, "services": [ ".-saas$" ] }, "sqlserver": { "name": "sqlserver", "path": "etc/helm/ventrahubstructure/charts/sqlserver" }, "webgateway": { "name": "webgateway", "path": "etc/helm/ventrahubstructure/charts/webgateway", "metadata": { "projectPath": "../../gateways/web/VentraHubStructure.WebGateway/VentraHubStructure.WebGateway.csproj", "imageName": "ventrahubstructure/webgateway", "projectType": "dotnet" }, "services": [ ".-webgateway$" ] }, "webpublic": { "name": "webpublic", "path": "etc/helm/ventrahubstructure/charts/webpublic", "metadata": { "projectPath": "../../apps/public/VentraHubStructure.Web.Public/VentraHubStructure.Web.Public.csproj", "imageName": "ventrahubstructure/webpublic", "projectType": "dotnet" }, "services": [ ".-webpublic" ] } }, "metadata": {} } } }, "options": { "httpRequests": { "ignoredUrls": [

      ]
    }
    

    }, "creatingStudioConfiguration": { "template": "microservice", "createdAbpStudioVersion": "2.1.9", "creationTool": "ABP Studio UI",
    "uiFramework": "angular", "runInstallLibs": "", "useLocalReferences": "false", "multiTenancy": "true", "includeTests": "true", "dynamicLocalization": "true", "kubernetesConfiguration": "true", "grafanaDashboard": "true", "databaseProvider": "ef", "databaseManagementSystem": "sqlserver", "theme": "leptonx", "themeStyle": "system", "themeMenuPlacement": "side", "mobileFramework": "react-native", "progressiveWebApp": "", "runProgressiveWebAppSupport": "", "publicWebsite": "true", "optionalModules": "GDPR FileManagement TextTemplateManagement AuditLogging Chat OpenIddictAdmin", "socialLogin": "true", "selectedLanguages": ["English", "Arabic", "Chinese (Simplified)", "Chinese (Traditional)", "Czech", "English (United Kingdom)", "Finnish", "French", "German (Germany)", "Hindi ", "Hungarian", "Icelandic", "Italian", "Portuguese (Brazil)", "Romanian (Romania)", "Russian", "Slovak", "Spanish", "Swedish", "Turkish", ], "aspire": "true", "defaultLanguage": "English", "createCommand": "abp new VentraHubStructure -t microservice --ui-framework angular --mobile react-native --database-provider ef --database-management-system sqlserver --theme leptonx --skip-migration --skip-migrator --public-website --without-cms-kit --aspire --dont-run-install-libs --dont-run-bundling -no-language-management -chat -file-management"

    } }

  • User Avatar
    0
    erkan.uci created

    version 2.19

  • User Avatar
    0
    erkan.uci created

    is there any progress ?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    Can you clear your NuGet package cache and restart Studio and try again?

    dotnet nuget locals all --clear
    

    I tested the command and the angular folder exists.

    abp new VentraHubStructure -t microservice --ui-framework angular --mobile react-native --database-provider ef --database-management-system sqlserver --theme leptonx --skip-migration --skip-migrator --public-website --without-cms-kit --aspire --dont-run-install-libs --dont-run-bundling -no-language-management -chat -file-management"
    

  • User Avatar
    0
    erkan.uci created

    I did use your command but still project is not visibible on folder strducture.. In running parts show but in folder strcuture now show ?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    This is by design.

    The Solution Explorer actually encompasses ABP modules and their projects, meaning they are all fundamentally .NET projects. However, Solution Runner allows us to add both C# applications and CLI applications (angular is a CLI application).

    Thanks.

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.2.0-preview. Updated on February 05, 2026, 13:24
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.