Open Closed

How to work with multiple projects each created using different versions of ABP Suite #6188


User avatar
0
sid@extranerds.com created
  • ABP Framework version: v7.3.3 and v7.4.0
  • UI Type: Blazor Server
  • Database System: EF Core (SQL Server)
  • Tiered (for MVC) or Auth Server Separated (for Angular): yes
  • Exception message and full stack trace: N/A
  • Steps to reproduce the issue:

I installed ABP, ABP CLI, and ABP Suite several weeks ago. At that time I was using ABP Suite 7.3.3 and created my first project. Everything worked great. Fast forward several weeks. Time to create a new project. I updated ABP to 7.4.0 and created my new project. Everything worked great. But now I have two projects. One was built on 7.3.3 and the other was 7.4.0. I tried to upgrade the 7.3.3. project to 7.4.0 but encountered all kinds of errors. So I decided to keep it on 7.3.3 for now.

Next, I needed to add an entity in my 7.3.3. project. In ABP Suite I got an error when attempting this because I'm running 7.4.0 and trying to create entities in a 7.3.3. project. Fortunately, I figured out the solution... remove ABP Suite 7.4.0 and install ABP Suite 7.3.3. Then I could open my 7.3.3. project in ABP Suite and make changes. Great.

But now I need to work in my 7.4.0 project again. Unfortunately, I'm getting ABP Suite errors again because I'm trying to use 7.3.3 to add an entity into a 7.4.0 project. Yes, I could remove 7.3.3 and install 7.4.0. So it appears that every time I need to make a change in one of my projects, however minor, I need to remove ABP Suite and re-install it using the correct version before opening my project in ABP Suite. That's cumbersome if, like me, you create multiple projects for several customers and need to manage them all... sometimes touching on 2-3 projects at a time and needing to switch back and forth between them several times in a given work week.

Is this what you must do every time you want to work with a project that was created on a different version of ABP Suite? Or, is there some way to launch ABP using a specific version? You might sau, just upgrade everything to 7.4.0. But that's easier said then done. It's sort of a complex process involving creating an empty project on both the old and new version then using WinMerge to determine the difference and manually editing the older project. It's pretty messy. So I don't agree that upgrading is always the best solution, especially for complex projects where entities classes, pages, etc created in ABP Suite might have been drastically altered.

Short question. What's the best way to manage ABP projects of varying versions?

A great answer would be something like... "Just type 'abp suite install --version 7.3.3' and 'abp suite install --version 7.4.4' to install both versions and then type 'abp suite --version 7.4.0'" to open ABP Suite using one of the many versions of it (eg 7.4.0) that you might have installed. That way, if I need to switch to the 7.3.3. project I can just exit ABP Suite and type 'abp suite --version 7.3.3.' to work on the other project. Is something like this possible? If not, can you make it happen?


1 Answer(s)
  • User Avatar
    0
    liangshiwei created
    Support Team Fullstack Developer

    Hi,

    You can install the local tool instead of global tool.

    See: https://bilal-fazlani.com/blog/net-core-local-tools-are-here

    • dotnet tool install volo.abp.suite --add-source https://nuget.abp.io/<YourApiKey>/v3/index.json --version 7.3.3
    • dotnet abp-suite

    You can find the source in the Nuget.config

Made with ❤️ on ABP v9.1.0-preview. Updated on December 12, 2024, 07:15