Open Closed

Create Seperate DDD module in abp tiered application #9744


User avatar
0
elie.khadij-bmb created

I created a new module for my tiered application via abp studio, and was able to manage dependency after building the solution of the module. The thing is whenever i change anything in the module i need to dotnet clean and rebuild in order to take effect which is normal. But when I want deploy what is abp's approach for the modules. Should I pack it and put it on Nuget? if so, it is not feasible from our side to have a private nuget. what is abp's approach for such issue?

  • Exception message and full stack trace:
  • Steps to reproduce the issue:

7 Answer(s)
  • User Avatar
    0
    AI-Bot created
    Support Team ABP Agent
    • In ABP Framework, modules can be distributed in several ways. While publishing your module as a NuGet package is a common approach, it is not mandatory—especially if maintaining a private NuGet feed is not feasible for your team.

    • For internal development and deployment, you can reference your module projects directly in your main solution using project references. This is fully supported by ABP and .NET. When you build and deploy your application, the module assemblies will be included as part of your application's output.

    • If you want to keep your module code separate but avoid NuGet packaging, you can:

      1. Add the module project(s) to your main application's solution.
      2. Reference them using standard project references (dotnet add reference).
      3. Build and deploy as usual; the module DLLs will be copied to the output directory.
    • This approach allows you to maintain modularity and separation of concerns without the overhead of managing a private NuGet server.

    • If you later decide to share the module across multiple solutions or teams, you can consider packaging it as a NuGet package or using other artifact management solutions (like local file shares or Git submodules), but for most internal scenarios, direct project references are sufficient and recommended.

    Sources:


    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
    elie.khadij-bmb created

    It is already referenced by the import from abp studio, but there is no way to avoid the clean and build for the seperated module that case.

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    But when I want deploy what is abp's approach for the modules. Should I pack it and put it on Nuget?

    You can reference your module project through the source code or NuGet package.

    For source code reference, no need to publish the packages in NuGet.

    Thanks.

  • User Avatar
    0
    elie.khadij-bmb created

    Yes it already referenced through source code by the abp studio import module, but if i dont build the module I will have in my main application reference issues. So as part of docker deployment strategy do you advice to build the module and copy it? Since for my application it does not belong to it directly, it depends on it

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    hi

    You can use the dotnet build /graphbuild command to build your main app. It will also build the module.

    https://dev.to/enisn/what-is-graphbuild-in-net-cli-msbuild-1h2e

    When you publish your app to Docker, you can also use graphbuild to build your main app.

    It will works in Docker.

    Thanks.

  • User Avatar
    0
    elie.khadij-bmb created

    Even if the module is a seperate SLN?

  • User Avatar
    0
    maliming created
    Support Team Fullstack Developer

    Yes, dotnet build /graphbuild will do the job. you can give it a try.

Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 12, 2025, 10:20