Open Closed

Building Project With Local Source #1865


User avatar
0
cfd000 created
  • ABP Framework version: v4.4.2

  • UI type: MVC

  • DB provider: EF Core

  • Tiered (MVC) or Identity Server Separated (Angular): yes

  • Exception message and stack trace: C:\SRC\abp-4.4.2\identity-pro>dotnet build Microsoft (R) Build Engine version 16.11.0+0538acc04 for .NET Copyright (C) Microsoft Corporation. All rights reserved.

    Determining projects to restore... Skipping project "C:\SRC\abp-4.4.2\licensing\Volo.Abp.AspNetCore.Mvc.UI.Theme.Commercial\Volo.Abp.AspNetCore.Mvc.UI.Theme.Commercial.csproj" because it was not found. Skipping project "C:\SRC\abp-4.4.2\licensing\Volo.Abp.Commercial.Core\Volo.Abp.Commercial.Core.csproj" because it was not found. Skipping project "C:\SRC\abp-4.4.2\licensing\Volo.Abp.Commercial.Core\Volo.Abp.Commercial.Core.csproj" because it was not found. Skipping project "C:\SRC\abp-4.4.2\licensing\Volo.Abp.Commercial.Core\Volo.Abp.Commercial.Core.csproj" because it was not found.

  • Steps to reproduce the issue:"

  1. Download 4.4.2 tag from GIT, and extract to a local directory (in this case, C:\Src\abp-4.4.2\abp )
  2. Create a folder C:\Src\abp-4.4.2\identity-pro
  3. Use CLI to download source (abp get-source Volo.Identity.Pro --local-framework-ref --abp-path ......\ )
  4. Run dotnet restore

We have been unable to build most of the "PRO" modules due to the missing "Volo.Abp.Commercial" projects.


8 Answer(s)
  • User Avatar
    0
    yekalkan created
    Support Team Fullstack Developer

    Hi @cfd000,

    Please use PackageReference for license packages instead of using local reference.

    <PackageReference Include="Volo.Abp.Commercial.Core" Version="4.2.2"/>

    We can't provide the source code of license packages, as you can understand.

  • User Avatar
    0
    cfd000 created

    This is a bug in the ABP get-source function.

    If it is not possible to get the source for a given module, the resulting project files should reference the package. The resulting output is non-functional without manually editing 89 broken project references.

  • User Avatar
    0
    yekalkan created
    Support Team Fullstack Developer

    abp get-source command belongs to ABP framework CLI and doesn't support ABP commercial modules when --local-framework-ref --abp-path parameter is used. This is why ABP Suite doesn't have this option in source code download dialog.

    We don't support this option in ABP Suite, because customers don't have access to the repository where we develop Commercial modules & other projects. But free modules are open source and they are dependent on projects that are in same open-source repository. So we though it would be nice to add this option to CLI if any free user, that have ABP Framework in their local, wants to use project references instead of nuget packages . We can't provide same functionalty for Commercial packages.

  • User Avatar
    0
    cfd000 created

    The challenge we have is that we are trying to debug core framework functionality, and our solution built using ABP Suite is not allowing that to happen. We switched to building the solution using the CLI, which does allow the breakpoints to be hit, but requires a HUGE amount of manual editing of dozens of project files just to get a successful compile.

    One of the huge benefits of paying for ABP Commercial was access to the full source code. Without the ability to easily debug at every level (our projects, the ABP Pro/Commercial modules, and the base open source ABP framework) we are not getting the benefits we were promised.

  • User Avatar
    0
    hitaspdotnet created

    I had same problem, Scan your project for <ProjectReference Include="C:\SRC\abp-4.4.2\licensing\Volo.Abp.Commercial.Core\Volo.Abp.Commercial.Core.csproj" /> and replace it with <PackageReference Include="Volo.Abp.Commercial.Core" Version="4.2.2"/> The problem is pro modules generated by Suite by ABP's developers which contains unusable references to SuiteTemplate project, Scan your project for <ProjectReference Include="C:\SRC\abp-4.4.2\licensing\Volo.Abp.Commercial.SuiteTemplate\Volo.Abp.Commercial.SuiteTemplate.csproj" /> and replace it via empty.

  • User Avatar
    0
    hitaspdotnet created

    The best practice is creating your folder structure same as ABP is,

    • YourCompany's Project folder
      • abp contains abp github repository
      • abp-pro contains abp-pro modules
        • naming the pro modules with same as abp (attached img) When using --local-framework-ref --abp-path target --abp-path to abp After this you need just few minutes of manual working Replace all \abp\abp\ with \abp-pro\
  • User Avatar
    0
    cfd000 created

    The best practice is creating your folder structure same as ABP is,

    • YourCompany's Project folder
      • abp contains abp github repository
      • abp-pro contains abp-pro modules
        • naming the pro modules with same as abp (attached img) When using --local-framework-ref --abp-path target --abp-path to abp
          After this you need just few minutes of manual working Replace all \abp\abp\ with \abp-pro\

    Thanks for the suggestions. I was able to come up with a script that got it all working (prior to seeing your posts). My folder structure put "abp" in the same directory as the pro modules (basically those folders all all moved up 1 level from where you put them), and I was able to replace SuiteTemplate with a reference in the same way as "Commercial.Core".

    Any idea if that matters? Everything seems to be compiling, the only problem I have now is the CLI project creation with local references creates a project that will also need some references "fixed".

  • User Avatar
    0
    hitaspdotnet created

    modify related template one time then use customized template as template source when using CLI

Made with ❤️ on ABP v9.1.0-preview. Updated on November 11, 2024, 11:11