Skip to content

feat: use TALXIS.Platform.Metadata.Packaging library for solution pack/unpack#43

Open
metjuperry wants to merge 1 commit into
TALXIS:masterfrom
metjuperry:feature/use-packaging-library
Open

feat: use TALXIS.Platform.Metadata.Packaging library for solution pack/unpack#43
metjuperry wants to merge 1 commit into
TALXIS:masterfrom
metjuperry:feature/use-packaging-library

Conversation

@metjuperry
Copy link
Copy Markdown
Member

Summary

Refactors InvokeSolutionPackager MSBuild task to use the new TALXIS.Platform.Metadata.Packaging library for solution packing/unpacking, eliminating the PAC CLI runtime dependency on .NET 10+.

How it works

  • net10.0 (dotnet build): Uses TALXIS.Platform.Metadata.Packaging.SolutionPackagerService directly via the library — no PAC CLI needed
  • net472 (Visual Studio / .NET Framework MSBuild): Falls back to the existing PAC CLI shell-out approach

This is achieved using #if NET10_0_OR_GREATER conditional compilation.

Changes

  • TALXIS.DevKit.Build.Dataverse.Tasks.csproj:
    • Updated TFM from net472;net6.0net472;net10.0
    • Added TALXIS.Platform.Metadata.Packaging package reference (conditioned on non-net472)
  • InvokeSolutionPackager.cs:
    • On NET10_0_OR_GREATER: calls the packaging library directly with SolutionPackagerOptions
    • On older frameworks: retains the full PAC CLI implementation
  • .targets: Updated assembly path from net6.0\\net10.0\\

Dependencies

Benefits

  • No PAC CLI installation required on build agents running .NET 10+
  • Faster execution (no process spawn overhead)
  • Shared implementation with tools-cli (PR #80)

…k/unpack

On .NET 10+ (MSBuildRuntimeType=Core), InvokeSolutionPackager now uses
the TALXIS.Platform.Metadata.Packaging library directly instead of
shelling out to PAC CLI. This eliminates the PAC CLI runtime dependency
and provides faster, more reliable solution packing/unpacking.

On .NET Framework (net472), the PAC CLI fallback is retained since the
packaging library targets net10.0.

Also upgrades Tasks TFM from net472;net6.0 to net472;net10.0 and
updates the .targets assembly path accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant